Linux+Apache实现用户身份认证

  一、序言

  现在很多网站对用户的访问权限进行了严格的限制,用户在访问某些资源时需要给出“用户名/口令"来确认自己的身份。

  目前,使用最多的身份认证方法是将用户名、口令存放在一个数据库中,当用户要访问某些受限制的资源时,要在某一个页面中输入用户名和口令,程序将用户输入的用户名和口令与数据库存放的“用户名/口令"相比较,如果输入正确,则正常使用资源,否则,资源访问被拒绝。但是,这种身份认证方式有两个很大的问题,一方面只要用户有一次身份认证成功,就可以记录下受限资源的链接地址,在下一次访问时只需输入该地址,而无需通过身份认证过程就可访问受限资源;另一方面用户可以在受限制的资源的超级链接处点右键,选择“属性",就可以查看到受限制资源的链接地址,直接访问该地址,使身份认证不能达到预期的效果。

  Apache可以很好地解决上述问题。Apache是建立WWW网站的软件,可运行于Linux、 Unix和Windows操作系统下。下面就以Linux为例介绍Apache是如何完成用户身份认证功能的。

  二、基本原理

  Apache实现身份认证的基本原理是:当系统管理员启动身份认证功能后,可以在要限制的目录中添加一个默认名“.htaccess"的文件。当用户访问该路径下的资源时,系统就会弹出一个对话框,要求用户输入“用户名/口令"。也就是说,它的身份认证功能不是人为由程序控制,而是由系统直接控制的。这样就避免了用户记录需要认证的资源的超级链接,不会下次直接访问资源。

  身份认证的方法有多种,其中包括Apache中预编译好的mod—auth模块和Apache自带的但未编译好的模块,如:mod—auth—dbm模块、mod—auth—db模块、mod—auth—msql模块。另外还有一些第三方开发的模块,如:MySQL数据库中使用的mod—auth—MySQL模块,他们都可以对一组用户或某个用户进行限制。

时间: 2024-11-02 19:40:09

Linux+Apache实现用户身份认证的相关文章

浅谈php用户身份认证(一)

                 浅谈php用户身份认证(一)                             爆米花2001年9月25日 www.westxj.net    大家在浏览网站的时候,常常会遇到某些网页会需要用户和密码的验证,这就需要我们编写相应的身份验证程序来实现此功能.以下是我的一些学习过程和体会,希望对大家有所帮助.(一).基于HTTP验证的单用户身份验证:    我们利用函数header()发送HTTP标头强制进行验证,客户端浏览器则弹出要输入用户名和密码的对话框,

PHP中用户身份认证实现二法(2)

PHP中用户身份认证实现二法(2)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> AddType application/x-httpd-php4 .php3AddType application/x-httpd-php4 .php4Action application/x-httpd-php4 /php4/php.exe 要想使PHP支持更多的后缀名,没问题.在给出的

浅谈php用户身份认证(四)

               浅谈php用户身份认证(四)                           爆米花 2001 12,28 www.westxj.net   大家好,前面几节讲了这个基于http单用户和多用户的密码验证的编写程序的方法,这种方法对于需要身份验证的页面,是最好不过的了.但是,这种验证不能在cgi模式的php,iis下的php使用.所以,我们就可以利用session在不同页面之间来保存用户信息,达到验证的目的.   session是指一个终端用户与交互系统进行通信的

浅谈php用户身份认证(二)

                  浅谈php用户身份认证(二)                              爆米花 2001年12月28日 www.westxj.net(二)基于http的多用户验证    上次给大家介绍了基于http的单用户验证,这次利用mysql数据库储存多用户数据,进行多用户验证.1.首先建立mysql数据库mysql>create database user;        //建立数据库usermysql>use user;              

浅谈php用户身份认证(三)

            浅谈php用户身份认证(三)                           爆米花 2001 12,28 www.westxj.net  前面讲了基于http多用户验证,我们采用的mysql数据库,在密码验证方面孤狼大哥建议非常好,密码验证的时候,最好在数据库中进行,所以程序为:select id from user where user='$PHP_AUTH_USER' and password='$PHP_AUTH_USER'. 

PHP中用户身份认证实现二法

用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制.当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理. 一.用HTTP标头来实现 标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向WEB服

PHP中对用户身份认证实现两种方法

当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理. 一.用HTTP标头来实现 标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向WEB服务器发出访问受保护区域的请求时,挑战进程被启动,服务器返回特殊的401标头,表明该用户身份未经验证.客户端浏览器在检测到上述响应之后自动弹出对

在PHP中实现用户身份认证两种方法

用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于Web于HTTP协议的用户身份验证机制.当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理. 一.用HTTP标头来实现 标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向Web器发出访问受

PHP中用户身份认证实现的两种方法

用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制.当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理. 一.用HTTP标头来实现 标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向WEB服