`
varsoft
  • 浏览: 2439964 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Unix下使用Apache实现用户认证

阅读更多

用户认证在网络安全中是非常重要的技术之一,通常主要是为了限制非授权用户的非法访问。其实应用比较简单,比如说我一网站,域名是:www.51ww.com,那么我的首页是允许用户访问的,但是假如我的 http://www.51ww.com/admin目录是我的网站管理目录,我不希望别人访问,为了防止非法登陆和一些SQL Injection等攻击,那么我就可以使用用户认证了,别人只要打开http://www.51ww.com/admin目录或者该目录下的任何文件,都要输入登陆用户名和密码才能查看该目录下的内容,那么就起到了一个屏障的作用,很好的防止了一些非法登陆。

简单讲了下原因,那么我们就简单的说一下如何在Apache中实现该功能。(以下的平台是 FreeBSD5.3 + Apache 2.0.52)

我们要实现该功能,需要两个步骤:

1. 建立密码表

假设我们的apache是安装在/usr/local/apache2下面的,那么我们执行下面的操作:
# cd /usr/local/apache2/bin
# ./htpasswd -c admin.txt admin_login // 在当前目录下建立一个admin.txt的密码文件,存储登陆密码,同时用户是admin_login
那么就会提示你输入密码:
New password: ********
Re-type new password: ********
Adding password for user admin_login

就证明添加成功了,并且把用户名和密码存储到了/usr/local/apache2/bin/admin.txt文件里,默认的密码是加密的,不知道是MD5加密还是SHA加密,反正是不可逆的密码。

2. 修改httpd.conf文件

修改Apache的配置文件httpd.conf文件,是为了指定那个文件需要使用该用户名和密码来访问,那么我们就在 /usr/local/apache2/conf/httpd.conf 添加如下内容:

<Directory "/usr/www/admin">
Options MultiViews
AllowOverride None
AuthType Basic
AuthName "Login User"
AuthUserFile /usr/local/apache2/bin/admin.txt
require user admin_login
</Directory>

上面的定义就是,我们的网站根目录是在 /usr/www下面,我们需要进行认证的目录是在 /usr/www/admin 下,进行认识证的密码文件是在 /usr/local/apache2/bin/admin.txt中,用户名是 admin_login, 同时提示的内容是 Login User。
保存httpd.conf后,重新启动Apache,那么我们现在访问 http://www.51ww.com/admin 就会弹出需要输入用户名和密码对话框。

当然,以上的用户认证不止这么简单,还要有比较复杂的应用,可以参考其他文件,比如下面这几篇:

http://5700.blogdriver.com/5700/113165.html
http://www.sd99.com/image/xiaoran/article/81.html
http://www.5ilinux.com/apache03.html

Write By heiyeluren 2005/04/08

分享到:
评论

相关推荐

    Apache 认证总结

    这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问...下面以Linux的Apache为例,就这两种存贮方式,分别介绍如何实现用户认证功能,同时对Windows的Apache用户认证作简要

    服务器基础知识(初学者必看).doc

    用户只要使用FTP客户端软件登录到FTP服务器 上就可以从FTP服务器下载所需文件和资源到自己的电脑上,同时, 你也可以把自己电话上的文件上传到FTP上供其他用户下载,以实现文件资源的共享。 (3) 邮件服务器(Mail ...

    php5.5 zip 32位

    PHP 是一种新型的 CGI 程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux 平台的Web后台程序,内置了对文件上传、密码认证、Cookies 操作、邮件...

    php网络开发完全手册

    1.4.3 使用phpinfo()确认Apache与PHP 1.4.3 的安装成功 12 1.4.4 Apache的启动与关闭 12 1.4.5 Apache的配置文件httpd.conf与 1.4.5 .htaccess的简介 13 1.4.6 PHP的配置文件php.ini的简介 13 1.4.7 PHP常用参数的...

    服务器应用简介.doc

    目前,INTERNET上较为流行的两种web服务器软件是Apache和微软的IIS,IIS主要定 位于小型的INTRANET环境,运行于WINDOWS NT/2000/XP/2003 Server平台,而Apache则有多种平台版本:Windows、Linux、Unix版本。...

    入门学习Linux常用必会60个命令实例详解doc/txt

    虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+...

    应用服务器中间件技术要求.doc

    " "安全性要求 "基于JAAS架构,实现基于容器的安全策略,提供基于数" " "据库和LDAP认证的Login Module, 支持用户增加Login " " "Module,支持单点登录 " " "必须支持标准的安全协议SSL(Secure Socket " " "Layer...

    TCP/IP教程TCP/IP基础

    17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点...

    TCP/IP技术大全

    17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点...

    TCP/IP详解

    17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点...

    TCP/IP技术大全(中文PDF非扫描版)

    17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点...

    TCP-IP技术大全

    17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点...

    .htaccess

    05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html&lt;br&gt;&lt;br&gt;Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用.htaccess,对虚拟主机用户来说,可以实现众多...

    Java服务器程序设计

    用java进行客户端的applet (小程序)开发的技术已广为使用,而用java进行服务器端的servlet(服务器小程序)开发则尚需揭开其神秘的面纱,本书正是...15.4.3 使用认证许可[/font] 15.5 沙盒[/font] 15.6 小结[/font]

    TCPIP协议详解(4-1)

    NNTP 199 18.3.6 DNS 200 18.4 建造用户自己的防火墙 200 18.5 使用商业防火墙软件 200 18.6 小结 202 第19章 IP安全 203 19.1 使用加密 203 19.1.1 公共-私钥加密 204 19.1.2 对称私钥加密...

    网站设计方案(案例).doc

    WebServer采用IIS还是Apache, 数据库采用SQL、ACCESS或是ORACLE等,并分析投入成本、功能、开发、稳定性和安全性 等。 3.3 网站开发平台 采用Frontpage还是Dreamweaver,是模板自助建站、建站套餐还是个性化开发。...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP...

Global site tag (gtag.js) - Google Analytics