Heim >Backend-Entwicklung >PHP-Tutorial >htaccess文件为站点文件夹设置密码保护

htaccess文件为站点文件夹设置密码保护

WBOY
WBOYOriginal
2016-07-25 08:54:291296Durchsuche
  1. AuthType Basic
  2. AuthName "restricted area"
  3. AuthUserFile /full/path/to/passwordprotected/.htpasswd
  4. require valid-user
复制代码

第一行的AuthType指的是采用的认证方式,在这里我们选择的是一般的Basic,要注意的是,Basic认证方式传输密码过程是不加密的,更安全的 方式是Digest,但Digest认证方式需要mod_auth_digest模块的支持,使用前最好先通过检查一下服务器是否已经开启该模块;第二行 的AuthName记录的认证名称,会显示在认证询问框上,如果存在多个认证,认证名称可以让你更清楚当前认证该输入什么用户名和密码,遗憾的是认证名称 似乎不支持中文;第三行,输入存放用户密码的认证文件路径。

  1. username:123456
  2. username:654321
  3. users:12tir.zIbWQ3c
复制代码

创建好文件后,我们需要向这个文件注入用户名和密码,如果你使用Linux或Unix类操作系统,使用 htpasswd命令就可以办到,如果你能通过SSH登陆到你的服务器,那么你可以使用htpasswd管理.htpasswd文件中的用户名和密码,若不行,还有很多在线工具(如 http://www.htaccesstools.com/htpasswd-generator/ 或 http://www.4webhelp.net/us/password.php)可以帮助你生 成.htpasswd文件中使用的密码。 或用php生成

  1. // Password to be encrypted for a .htpasswd file
  2. $clearTextPassword = 'some password';
  3. // Encrypt password
  4. $password = crypt($clearTextPassword, base64_encode($clearTextPassword));
  5. // Print encrypted password
  6. echo $password;
  7. ?>
复制代码

最后,测试一下,新建一个文件夹passwordprotected把做好的两个文件上传并同一个测试文件test.php放入该文件夹,将文件夹 上传到服务器根文件夹,假如你是在本地测试服务器上,输入http://localhost/passwordprotected/test.php的路 径,此时是否会弹出一个认证询问框呢?

输入相应帐户名和密码,即可看到服务器的配置情况了。如果浏览器出现500错误,很可能是 AuthUserFile路径设置不正确导致。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn