爱心区 公益下载 公益文章 人在旅途 小博士乐园

>>首页 -> 公益文章 -> 技术文栏 -> 操作系统 -> 在 Apache Web Server 上实现用户认证



在 Apache Web Server 上实现用户认证


作者internet 来源internetlove 加入时间:2005-8-29
摘要:
在 Apache Web Server 上实现用户认证

  A:目前 Web 服务器有很多种,其中 Apache Web Server 以其稳定性高、速度快、功能丰富、完全免费等特点获得了广大技术人员的青睐,截止2001年,全球的 WWW 服务器中大约有超过 400 万台使用的是 Ap...

转载:转载请保留本信息,本文来自
http://www.51dibs.com/info/19492.htm

在 Apache Web Server 上实现用户认证

  A:目前 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 文件。
    现在对网站访问时,将会进行用户和口令的认证。


相关文章

相关软件

客户服务中心信箱:[email protected]