allow 和 deny 规则
        首先举例:
| 1 2 3
 | Order deny,allow deny from all allow from 127.0.0.1
 | 
        我们判断的依据是这样的:
- 看 Order 后面的,哪个在前,哪个在后
- 如果 deny 在前,那么就需要看 deny from 这句,然后看 allow from 这一句
- 规则是一条一条的匹配的,不管是 deny 在前还是 allow 在前,都是会生效的。比如例子中,先 deny 了所有,然后又 allow 了127.0.0.1,所以 127.0.0.1 是通过的。
        例子:
| 1 2 3
 | Order allow,deny Deny from all Allow from 127.0.0.1
 | 
        这个就会 deny 所有了, 127.0.0.1也会被 deny 。因为顺序是先 allow 然后 deny ,虽然一开始 allow 了127.0.0.1,但是后面又拒绝了它。
| 1 2
 | Order allow,deny Deny from all
 | 
        上面的规则就表示,全部都不能通
| 1 2
 | Order deny,allow Deny from all
 | 
        上面的规则就表示,全部都不能通
        只有顺序,没有具体的规则,表示,全部都可以通行(默认的),因为 allow 在最后。
        这个表示,全部都不能通行(默认的),因为 deny 在最后。
- 做某个目录闲置,只允许内网 ip 访问,这个目录可以是网站根目录,也就是整个站点都要做限制了。
| 1 2 3 4 5 6 7 8 9 10
 | [root@lamp ~] <Directory "/data/www、">     AllowOverride None     Options None     Order deny,allow     Deny from all     Allow from 127.0.0.1 </Directory>
 | 
        说明:只允许 127.0.0.1 访问,其他 ip 全部拒绝。
- 针对请求的 uri 去限制,前面安装的 discuz 论坛,访问后台是 admin.php,那么就可以针对这个 admin.php 做限制。
| 1 2 3 4 5 6
 | <filesmatch "(.*)admin(.*)">     Order Deny,Allow     Deny from all     Allow from 127.0.0.1 </filesmatch> `
 | 
        说明:这里用到了 filesmatch 语法,表示匹配的意思。
        检测是否有错,重启apache 服务
| 1 2 3
 | [root@lamp ~] Syntax OK [root@lamp ~]
 | 
        用curl 测试
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
 | [root@lamp ~] HTTP/1.1 403 Forbidden Date: Thu, 05 Jan 2017 10:37:38 GMT Server: Apache/2.2.31 (Unix) PHP/5.6.6 Content-Type: text/html; charset=iso-8859-1   [root@lamp ~] HTTP/1.1 200 OK Date: Thu, 05 Jan 2017 10:37:40 GMT Server: Apache/2.2.31 (Unix) PHP/5.6.6 X-Powered-By: PHP/5.6.6 Set-Cookie: cbq6_2132_saltkey=W35308HL; expires=Sat, 04-Feb-2017 10:37:40 GMT; Max-Age=2592000; path=/; httponly Set-Cookie: cbq6_2132_lastvisit=1483609060; expires=Sat, 04-Feb-2017 10:37:40 GMT; Max-Age=2592000; path=/ Set-Cookie: cbq6_2132_sid=PUbGdd; expires=Fri, 06-Jan-2017 10:37:40 GMT; Max-Age=86400; path=/ Set-Cookie: cbq6_2132_lastact=1483612660%09admin.php%09; expires=Fri, 06-Jan-2017 10:37:40 GMT; Max-Age=86400; path=/ Cache-Control: max-age=0 Expires: Thu, 05 Jan 2017 10:37:40 GMT Content-Type: text/html; charset=gbk
 | 
        本机 ip 192.168.0.99 被拒绝,而 127.0.0.1 可以访问。
Apache设置禁止访问.txt文件
        做了目录禁止浏览后,目录下面的txt文件还是可以显示里面的内容的。
        解决办法:
| 1 2 3 4
 | Options -Indexes   FollowSymLinks   AllowOverride All   Order allow,deny   Deny from all
 | 
apache 禁止trace或track防止xss攻击
        TRACE和TRACK是用来调试web服务器连接的HTTP方式。
        支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把”Cross-Site-Tracing”简称为XST。
        攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
        禁用trace可以使用rewrite功能来实现
| 1 2 3 4 5
 | <IfModule mod_rewrite.c>   RewriteEngine On   RewriteCondi %{REQUEST_METHOD} ^TRACE   RewriteRule .* - [F] </IfModule>
 | 
        或者还可以直接在apache的配置文件中配置相应参数