灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:8211回复:0

Apache服务器配置Web页面访问权限

楼主#
更多 发布于:2014-11-11 12:41
假设你有一些敏感的信息要放在Intranet/internet上,你首先可能会想到自己开发一个用户身份认证的系统来保护你的web页面。其实Apache本身就自带了限制用户访问Web页面的机制,实现起来也不复杂。
   本文介绍在Linux+Apache上的实现方法:
 
  1、修改http.conf
 
  假设你想控制/usr/local/apache/htdocs下各目录的不同访问权限,你可以在与之间加入一行:
 
  AllowOverride All
 
  意思是在/usr/local/apache/htdocs下不同目录的访问权限由该目录下的.htaccess文件来控制,而且不同目录的权限策略可互相覆盖。
 
  2、编辑你想要控制的目录下的.htaccess文件
 
  假设你的phpmyadmin目录在/usr/local/apache/htdocs下,你可以这样在phpmyadmin目录下创建一个.htaccess文件,内容如下:
 
  AuthUserFile /usr/local/apache/pass/pwdPhp
 
  AuthType Basic
 
  AuthName "Database Security Zone"
 
  ErrorDocument 401 /catchErrors/err_401.html
 
 
 
  require valid-user
 
 
 
  该文件说明了几个问题:
 
  (1) 用户信息存放在/usr/local/apache/pass/pwdPhp中.
 
  (2) 认证类型为基本型(此外还有一些其他的加密类型).
 
  (3) ErrorDocument 所指向的html文件.
 
  (4) 认证方式:用户认证(valid-user)或组认证(valid-group).
 
  3. 生成用户密码文件
 
  有一个用户密码生成程序:htpasswd(在/usr/local/apache/bin下),它可以加入用户密码信息到指定的文件中,如/usr/local/apache/pass/pwdPhp.我的用户密码文件内容如下:
 
  admin:a0Hplbj33QjV2
 
  guest:R0BYSO383QjVT
 
  4. 重起apache deamon
 
  /usr/local/apche/bin/apachectl restart
 
  5. 测试
 
  用IE浏览受保护的页面,如http://ip/phpmyadmin/ (可能需要refresh几次才能凑效),这时应该出现一个身份认证窗口,你需要输入用户名(admin / guest)和密码(******)才能访问这个页面。

喜欢0 评分0
游客

返回顶部