1. 限制IP访问
使用deny和allow来设定允许和不允许访问网页的IP段。
Order deny,allow:以 deny 优先处理,但没有写入规则的则默认为 allow 。常用于:拒绝所有,开放特定的条件; Order allow,deny:以 allow 为优先处理,但没有写入规则的则默认为 deny。 常用于:开放所有,拒绝特定的条件。 如果 allow 与 deny 的规则当中有重复的,则以预设的情况 (Order 的规范) 为主。
一般情况下,这样写,用于不允许某些IP的访问:
<Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Order allow,deny allow from all deny from 192.168.1.0/24 deny from .gov.tw </Directory>
2. 设置保护网页的用户名密码访问
2.1 修改/etc/httpd/conf/httpd.conf文件
[root@linux ~]# vi /etc/httpd/conf/httpd.conf # 确定底下这几行是存在的! AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> # 在某个不受影响的地方加入这一段: <Directory "/var/www/html/protect"> AllowOverride AuthConfig Order allow,deny Allow from all </Directory> [root@linux ~]# apachectl restart <==重新启动,不要忘记了!
2.2 在保护目录下建立.htaccess 档案
[root@linux ~]# cd /var/www/html/protect [root@linux ~]# vi .htaccess # 只要加入底下这几行即可 AuthName "Protect test by .htaccess" Authtype Basic AuthUserFile /var/www/apache.passwd require user test
2.3 建立密码档案 htpasswd
Apache 默认读取的账号/密码设定数据是由 htpasswd 所建立的,这个指令的语法是这样的:
[root@linux ~]# htpasswd [-c] 密码文件文件名 用户账号 参数: -c :建立后面的密码档案。如果该档案已经存在,则原本的数据会被删除! 所以如果只是要新增使用者(档案已存在时),不必加上 -c 的参数! 1. 建立 apache.passwd ,账号为 test [root@linux ~]# htpasswd -c /var/www/apache.passwd test New password: <==这里输入一次密码,注意,屏幕不会有任何讯息。 Re-type new password: <==这里再输入一次 Adding password for user test [root@linux ~]# cat /var/www/apache.passwd test:FIquw/..iS4yo <==您瞧瞧!已经建立一个新使用者! 2. 在已存在的 apache.passwd 内增加 test1 这个账号: [root@linux ~]# htpasswd /var/www/apache.passwd test1