如何通过 cpanel 中的 .htaccess 限制对我们网站的访问?
Posted
技术标签:
【中文标题】如何通过 cpanel 中的 .htaccess 限制对我们网站的访问?【英文标题】:How can I restrict access to our website through .htaccess in cpanel? 【发布时间】:2019-03-18 05:38:37 【问题描述】:我正在一个网站上工作,我想通过在其中输入一些用户名和密码来限制对其的访问,例如 如果我/或任何外部用户打开该网站,它应该要求Username
和 Password
。
我在 public_html 文件夹内的 .htaccess 文件中使用的当前代码是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
问题陈述:
我想知道我应该在上面的.htaccess
代码中进行哪些更改,以便它允许外部用户输入用户名和密码来进入网站。
【问题讨论】:
通常你写一个.htpasswd
和here 描述的用户名:哈希对,.htaccess
文件不是添加密码的正确位置。只要确保你计算的是 BCrypt 哈希而不是常用的弱 MD5。
你可以通过 SSH 访问服务器吗?
是通过 cpanel,而不是通过 ssh。
什么是服务器技术?阿帕奇?
【参考方案1】:
这可以使用 cPanel GUI 来完成。以下是我找到的一些说明:
添加密码保护
-
登录 cPanel。
转到“文件”部分并单击“目录隐私”图标。
选择您要密码保护的目录,然后您将看到设置 $PATH 的权限屏幕。
单击标有“密码保护此目录:”的复选框。
在标有“输入受保护目录的名称:”的字段中输入您要保护的文件夹的名称。
单击“保存”按钮以保存您为目录输入的名称和密码保护目录的选项。
通过在用户名、新密码和确认密码字段中输入凭据来创建一个用户以授予对受保护目录的访问权限。
单击保存以保存您输入的凭据。
来源: https://www.inmotionhosting.com/support/website/protecting-files/how-do-i-password-protect-a-directory-in-my-control-panel-cpanel
注意:这些步骤的措辞和位置可能会因 cPanel 版本而异。这些说明启用了一种称为“HTTP BASIC”的东西,它被认为是不安全的。此 QA 可以帮助解释为什么您不应该使用它来保护敏感数据:https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https
【讨论】:
【参考方案2】:要使用密码保护您的网站,您需要两件事:密码文件和 htaccess 文件。
1) 创建密码文件
打开一个新的文本文件,然后输入用户名和密码 组合。 重要提示:每个用户名和密码组合必须 在文件的新行中输入。 保存文件并将其上传到 Web 服务器上的目录。大多数使用 cPanel 控制面板模块运行的托管公司都有一个主目录文件,您可以在其中上传 .htpasswd 文件。2) htaccess 文件
在 htaccess 文件中添加以下五行:
AuthUserFile /path/to/htpasswd/file/.htpasswd
AuthGroupFile /dev/null
AuthName “区域名称”
AuthType Basic
需要有效用户
接下来,您需要更改“/path/to/htpasswd/file/.htpasswd”(代码行 1) 指向 .htpasswd 文件的实际路径
“区域名称”(代码行 3)需要更改为您的名称 网站,或您网站中需要保护的部分。
保存 Htaccess 文件并将其上传到您想要的目录中 受到保护。
最后,您应该测试您的密码是否有效 试图访问受保护的 URL。如果密码本身 不起作用,您必须返回 .htpasswd 文件以确保 它在那里输入正确(记住,密码更常见 比不区分大小写)。另一方面,如果你能够 在不提示输入用户名和密码的情况下访问 URL 全部,您需要联系您的服务管理员以确保 为您的网站启用 Htaccess。
【讨论】:
以上是关于如何通过 cpanel 中的 .htaccess 限制对我们网站的访问?的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在核心 PHP 中设置环境变量而不使用 Cpanel 中的任何库
使用 htaccess 将所有 https://www.mydomain.com 重定向到 https://mydomain.com(cpanel 中的 2 SSL HOST)[重复]