首頁 >後端開發 >php教程 >htaccess檔案為網站資料夾設定密碼保護

htaccess檔案為網站資料夾設定密碼保護

WBOY
WBOY原創
2016-07-25 08:54:291327瀏覽
  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路径设置不正确导致。



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn