12下一页
返回列表 发新帖

如何借助应用份认证模块和.htaccess文件保证Web安全| →『网络安全区』

376.3k 15
kjeittccdf 发表于 2015-3-28 20:39:10|湖北 | 查看全部 阅读模式
要限制对一个网页的访问,可使用Apache和第三方提供的身份认证模块和方法来验证用户的凭据(如用户名和密码),用户认证指令通常放置在.htaccess文件中。本文介绍如何应用份认证模块和.htaccess文件。
9 H" q8 O  _# _: e6 g, V. T) }* x5 u) o- F  ) W$ D0 E' O( _: {' u
1 u) I3 M( \/ }
要限制对一个网页的访问,可使用Apache和第三方提供的身份认证模块和方法来验证用户的凭据(如用户名和密码)。一些模块支持通过各种数据库(包括NIS和LDAP)进行身份认证。. C8 K& S4 b) s

1 u+ S  j  T! M3 y * s( i9 q) r: I+ Z

$ R0 r$ x& H$ s4 G# M用户认证指令通常放置在.htaccess文件中。下面是使用Apache默认身份认证模块(mod_auth)的一个基本.htaccess文件。当这个文件放置在/var/www中时,会导致Apache要求用户输入密码进行验证,然后浏览器才能访问/var/www目录层次结构中的内容。应用时,要用本地服务器的相应值进行替换。. c9 G1 L1 f- C$ ]6 b

- U  `/ Y" B7 d0 ~( H7 H+ @# cat .htaccess
+ r& V% Z# H, I8 r0 o4 D
$ E/ Q2 V) P7 b. `% {/ }AuthUserFile /var/www/.htpasswd
$ i5 [  J+ a$ z
* ?' Y" v% ]  h- {5 k3 E+ |AuthGroupFile /dev/null
5 H( X9 S. G: Q2 j- c! v
' c, S; U3 E  r) p+ mAuthName "Browser dialog box query"/ c3 d1 e/ t+ p2 V

" S" Y2 u8 v4 d0 ^0 c' u- p( {AuthType Basic  P; k' _% o1 K; }/ V# @1 g5 o

. ^; T4 o1 B9 I; Krequire valid-user, E; ~- p3 w: N% D& S  k. q% T

% K  f. p4 X3 o, a% R5 b$ [4 a' a 8 M& U9 _+ u/ x0 h; f# `

$ V( L7 M2 M  i# X5 ]( O  ?/var/www/.htpasswd是一个.htpasswd文件的典型绝对路径名,用户在要求输入用户名和密码的对话框中会看到字符串Browser dialog box query。
) A+ {: j1 Q. X+ V  _1 s( ~. h; L
  n( O: ^4 \& o: `# z
9 c& X6 z( [, T7 l& T4 N7 a6 u
5 ^# b: _+ C# W4 E* [' u前面.htaccess文件的第二行关闭组功能。第四行指定用户的身份认证类型为Basic,这也是mod_auth模块的默认设置。最后一行告诉Apache哪些用户可以访问受保护的目录。valid-user条目会授权任何用户(用户名在Apache密码文件中并且输入的密码正确)访问该目录。
. w* @8 d3 K' A$ p9 l: b 6 W: @8 X5 w6 _, D
& w0 x+ ~* m, N1 `
3 i, K: W5 Q: A
只要Apache可以读取其密码文件,该文件可放在系统上的任何地方。把这个文件与.htaccess文件放在同一目录下也是安全的,因为默认情况下,Apache将不会对名字以.ht开头的任何文件的请求进行回复。但是一定不要更改httpd.conf配置文件,以防Apache对名字以.ht开头的文件的请求进行回复。: s1 I/ r8 J' K& _1 X
' h  v' ^, O  r, \0 I7 j8 z$ h! i
' @& G* [( i  e" k2 o
0 Y# O5 N' g  _6 J
下面的命令将在工作目录中创建(–c)一个带有Sam条目的.htpasswd文件。省略–c选项可以在现有.htpasswd文件中添加用户或更改密码。& u4 {& ?1 Q! {0 q' _4 ?' a
) X. m& T" Y4 Z
$ htpasswd -c .htpasswd sam. P2 H: N, E1 i9 w0 L7 {
% z9 B5 B' C. U5 |
New password:
  Q% ?. Y' G- B7 q% i" U: i 0 s( S! w- D1 K' x$ [& D
Re-type new password:
) U  x% c4 o. k6 l
3 C, W; q( s5 A" DAdding password for user sam
: w* G( Q6 J( H- J6 n" q5 x  Z & }, s+ {$ e+ \" q: Y$ [& K9 c( |
. O4 @- g, _8 P- _
: {2 F& n* c8 y( h# [- A; b* Q
默认的httpd.conf文件包括用于/var/www的AllowOverride None指令。要启用Apache来处理用户认证指令(如读取.htaccess文件),必须将这个指令更改为AllowOverride AuthConfig或将其删除。
' m" g1 q3 D, A5 X" F
7 A2 a, [( h2 l6 ?$ O  r: r- f9 g 6 b1 w2 F$ C! l6 Q  R* l% l
2 C6 f0 I" |1 R: S: {" c1 h
在Apache已配置为可处理.htaccess文件后,当它收到对文件的请求时,必须从所请求的文件向上遍历目录层次结构一直到根目录,查找.htacess文件,以确定它是否可以提供该请求的文件。此搜索可能会影响性能。通常情况下性能下降不太严重,但如果性能很关键,则这个问题将很棘手。

回复|共 15 个

佚名 发表于 2015-4-27 22:32:23
哥们,给我做个链接吧
佚名 发表于 2015-4-27 22:15:20
机会就像水中的鱼,耐心等待就能上钩。
佚名 发表于 2015-4-27 22:14:43
我怎么就踩不死你呢??
佚名 发表于 2015-4-27 22:33:19
正好你开咯这样的帖
佚名 发表于 2015-4-27 22:30:51
呵呵 高高实在是高~~~~~
亮凌庚 Lv.15 发表于 2015-7-3 15:49:03|浙江 | 查看全部
女人啊真是那句话~~~无理占三分~~忘记怎么说了 呵呵 ~~你帮我想想
swmozowtfl Lv.18 发表于 2015-7-3 15:44:34|美国 | 查看全部
在这个处女都要验证码的时代不得不弄个会员来当每天看贴无数基本上不回 后来发现很傻,很多比我注册晚的级别都比我高,我终于觉悟于是我就把这段文字保存在记事本里,每看一贴就复制粘贴一次。
亮凌庚 Lv.15 发表于 2015-7-3 15:59:32|欧洲 | 查看全部
来电来函..欢迎洽购...
xiaoye Lv.9 发表于 2015-7-3 15:42:43|湖南 | 查看全部
阿额~~~这些人都疯特勒~~~~~
亮凌庚 Lv.15 发表于 2015-7-3 15:35:20|美国 | 查看全部
朕在自己的寝宫~~~~
Acropozelan 发表于 2017-4-11 13:58:13|美国 | 查看全部
做为新人!在这里不敢大声说话!送完经验我就走!
Acropozelan 发表于 2017-4-11 14:06:04|Reserved | 查看全部
看完楼主的帖子,我的心情竟是久久不能平静
wwdu926a 发表于 2017-4-11 14:01:15|荷兰 | 查看全部
系统居然怀疑我灌水,我身边又没有水龙头。哦…明白了,身上有一个……
mwxny 发表于 2017-4-11 14:05:55|美国 | 查看全部
去干吗啊~~~伤心啊~~~

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表