在Apache Web Server上实现用户认证_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|系统之家|纯净系统

您当前所在位置:首页服务器WEB服务器 → 在Apache Web Server上实现用户认证

在Apache Web Server上实现用户认证

时间:2015/6/28来源:绿色软件之家作者:网管联盟我要评论(0)

目前web服务器有很多种,其中Apache Web Server以其稳定性高、速度快、功能丰富、完全免费等特点获得了广大技术人员的青睐,截止2001年,全球的WWW服务器中大约有超过400万台使用的是Apache Web Server,占总数的60%,成为Internet上最流行的Web Server。在将企业信息进行Web发布时,经常遇到有一部分敏感信息,需要对浏览用户进行用户限制及认证。这当然可以通过编程来实现用户的认证,但采用Apache本身的功能即可实现这一目的,而无需对程序进行任何修改。具体有以下两种方法。
域名或IP地址的限制
用这种方法可限制某些区域的用户对网站(或某些目录)的访问。
配置文件中有若干由<Directory 目录名> 和 </Directory>把一组指令包装起来的指令段,这些指令的作用将只应用到所指明的目录及其子目录上。
allow 这个指令影响能够存取某特定目录的主机,主机可以是下列之一:
all
允许所有的主机存取。
部份)领域名称
允许名称为此字串或以此字串结束的主机存取。
完整的 IP 位址
允许该 IP 位址的主机存取。
部份的 IP 位址
某个 IP 位址第一到第三个位元组,作为子网路限制之用。
基于用户和密码的访问
通常用在要求更严格的地方。用户需要密码和口令才能访问。这就叫用户认证。实现用户认证需要两个步骤,先要建立一个用户密码文件,存放用户名和密码。再就是把限制访问的文档保护起来。
(1)建立用户密码文件
---- apache 提供了htpasswd程序用于建立用户密码文件。这个程序通常位于prefix/bin/下,htpasswd 的使用方法如下:
htpasswd -c yourpath/yourfilename username
---- yourpath和yourfilename是存放用户密码文件的路径名和文件名.注意这个文件不要放到被web可以读取的地方。也不要放到被保护的文档中。比如可以放在/usr/local/apache/etc下, —c 是指建立这个文件。
---- htpasswd -c /usr/local/apache/etc/users wxp 指在该目录下建立users文件并加入用户wxp,然后在根据提示输入密码。在加第二个用户时就不用-c了。建好后的文件就象系统的passwd文件,前面是用户名,后面是MD5算法加密后的密文。
wxp 6A4CDr0325
Liming dDK4sJS1S3
(2)建立.htaccess文件
---- 在你要保护的文档目录下建立这个文件。就像这样
AuthName   "LoginIn" // 这个是被保护页面的名字
AuthUserFile /usr/local/apache/etc/users  //用户密码文件
AuthAuthoritative on
require valid-user
AuthType Basic  //使用的认证协议
---- 这里AuthName , 表示了被保护页面的名字。如果不同的页面使用了不同的AuthName。则用户在进入这些不同Ahtuname的页面是需重输用户名和密码。AhtuType 有两种:Basic 和Digest。这里用了Basic,如果用Digest,只要把AuthType Basic换成AuthType Digest AuthUserFile 换成AuthDigestFile,然后用APACHE提供的htDigest程序生成密码文件。格式是htdigest -c /usr/local/apache/etc/filename digest username
---- filename 是密码文件名.username 是要加的用户名.digest提供基于md5的认证方法。
---- 目前只有IE5可以使用Digest提供的MD5认证.但MD5提供更强的安全。
---- AuthUserFile 也可以是AuthGroupFile 这样可以指定一个组的用户。如AuthGroupFile  /usr/local/apache/etc/admingroup.这个文件可用任何编辑器建立。格式是这样admin:wxp xpw other:Liming Ximing.
---- AuthAuthoritative on 可以不给不在用户文件里的用户提供验证密码的机会。具有更高的安全性。
--- require 这句是指那些用户可以被认证。比如require user wxp ,那么只有wxp这个用户可以登入.这样就可以以一个用户密码文件实现不同级别的访问。
(3)限制访问级别
---- 你可以在不同的目录下实现不同的访问级别。如可以让部分用户可以GET,部分可以POST. 这是在httpd.conf文件中配置。在要限制的目录的句子中插入:
require vaild-user 
---- 这里GET POST PUT可以依需要修改。并在该目录中的下面加上AllowOverride AuthConfig ,这样APACHE就会去该目录下找.htaccess 文件。
现在对网站访问时,将会进行用户和口令的认证。

关键词标签:用户,认证,实现,文件,

相关阅读

文章评论
发表评论

热门文章 ISAPI Rewrite实现IIS图片防盗链ISAPI Rewrite实现IIS图片防盗链IIS6.0下配置MySQL+PHP5+Zend+phpMyAdminIIS6.0下配置MySQL+PHP5+Zend+phpMyAdmin在Windows服务器上快速架设视频编解码器全攻在Windows服务器上快速架设视频编解码器全攻win2000server IIS和tomcat5多站点配置win2000server IIS和tomcat5多站点配置

相关下载

人气排行 XAMPP配置出现403错误“Access forbidden!”的解决办法WIN2003 IIS6.0+PHP+ASP+MYSQL优化配置访问网站403错误 Forbidden解决方法Server Application Unavailable的解决办法如何从最大用户并发数推算出系统最大用户数报错“HTTP/1.1 400 Bad Request”的处理方法http 500内部服务器错误的解决办法(windows xp + IIS5.0)Windows Server 2003的Web接口