设为首页 收藏本站
查看: 531|回复: 0

[经验分享] Unix下使用Apache实现用户认证

[复制链接]

尚未签到

发表于 2017-1-6 07:58:21 | 显示全部楼层 |阅读模式
  用户认证在网络安全中是非常重要的技术之一,通常主要是为了限制非授权用户的非法访问。其实应用比较简单,比如说我一网站,域名是: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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324433-1-1.html 上篇帖子: Apache+JK负载均衡Tomcat集群 下篇帖子: 使用Apache email组件发送邮件实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表