在apache服务器中的 PHP 基本验证配置方法

在php中有一种不用写代码也可以进行用户校验,那就是通过.htaccess文件进行控制访问。

例如在根目录下建立下面一个.htaccess 文件就可以控制整个用户的访问。

ErrorDocument 401 /../content.php
AuthUserFile D:/test.htpassword
AuthName 'Realm-Name'
AuthType Basic
require valid-user

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

所谓的基本方式验证,是依赖于浏览器的,火狐浏览器可以不断的让用户输入密码,IE浏览器当用户输错三次之后就跳转到ErrorDocument多定义的链接。

AuthUserFile指定的是用户密码文件,也就是说这个验证是使用文件验证的,不适合于有大量用户群的情况,而且这个文件也不能放在web目录中,因为在web目录中用户

可以直接下载这个文件。

AuthUserFile 通过apache中的htpasswd.exe来生成,运行命令(htpasswd.exe -cbm D:\test.htpassword user1 pass)就可以创建。

同时我们指定验证名称为Realm-Name,类型为Basic。 代码行 require valid-user 表示任何合法的用户都可以访问。

**注释: htpasswd

Usage:
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password (default).
-d Force CRYPT encryption of the password.
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.

On other systems than Windows, NetWare and TPF the '-p' flag will probably not work.The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.


下一篇我们将介绍怎样使用数据库中的用户表进行验证。

你可能感兴趣的:(apache)