限定某个目录禁止解析php+限制 user_agent

限定某个目录禁止解析php :

实例解析:
有这样一种情况,有些站点和论坛是允许上传图片到服务器,但是这就给黑客留下了可进入服务器的大门,他们上传一些php或者js到服务器,然后被我们执行加载,有些函数可以让黑客获取最大的权限,从而对数据造成威胁!
为了避免这种事情的发生,我们需要限制上传类型。
  1. 配置:

在虚拟服务器中增加如下配置:

<Directory /data/wwwroot/test3.com/upload>
        php_admin_flag engine off
        <FilesMatch (.*)\.php(.*)>
        Order allow,deny
        deny from all
        </FilesMatch>
</Directory>

凡是在upload目录中的php均不解析!并且匹配任意.php的文件,全部拒绝访问!

  1. 测试(-t);加载配置(graceful)
  2. 创建upload目录,以及在upload目录下创建123.php去测试。
[root@localhost test3.com]# curl -x127.0.0.1:80 www.test3.com/upload/123.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /upload/123.php
on this server.<br />
</p>
</body></html>

如上当你访问.php文件时,直接拒绝,没有任何机会去访问,更别提执行了!

如果程序员让upload可以允许解析,那只有说明他不合格!静态文件存储的地方是不允许放php的。没有考虑到任何数据安全!!!


限制 user_agent :

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
cc攻击:是我们经常见到的最常见的一种攻击,几乎每天每个时段都会存在。CC攻击就是黑客利用所能利用的肉鸡(就是所谓的黑客利用技术手段攻击下来的他人服务器)去攻击(正常的访问)你的站点,导致你的站点不可以被正常的用户所浏览。但是也不是不可防止,在攻击的时候有一个规律的特征,user_agent是一致的(其referer和访问页面是一致的,并且在一秒内发动N此访问)!
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
        RewriteRule  .*  -  [F]
   </IfModule>

咱们还是使用rewrite modul

RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]   //匹配Curl的访问   [NC,OR] NC:忽略大小写。 OR:是或者的意思,要么这一条,要么下一条满足情况
RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
RewriteRule  .*  -  [F]   // F:Forbidden 禁止

只要使用curl和baidu.com来攻击,就会直接也不跳转了,就直接禁止!

[root@localhost test3.com]# curl -x127.0.0.1:80 www.test3.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
</body></html>

使用Curl这种方式访问直接被禁掉(You don't have permission to access on this server.)

当然你也可以使用curl -A :随意指定自己这次访问所宣称的自己的浏览器信息。

[root@localhost test3.com]# curl -A "haha browser" -x127.0.0.1:80 www.test3.com -I
HTTP/1.1 200 OK
Date: Thu, 03 Aug 2017 06:15:37 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
X-Powered-By: PHP/7.1.6
Content-Type: text/html; charset=UTF-8

改变浏览方式即可访问。查看下日志:

[root@localhost test3.com]# tail /usr/local/apache2.4/logs/test3.com-access_20170803.log 
127.0.0.1 - - [03/Aug/2017:14:12:41 +0800] "GET HTTP://www.test3.com/ HTTP/1.1" 403 209 "-" "curl/7.29.0"
127.0.0.1 - - [03/Aug/2017:14:15:37 +0800] "HEAD HTTP://www.test3.com/ HTTP/1.1" 200 - "-" "haha browser"

实用扩展:

apache 禁止trace或track防止xss攻击

转载于:https://my.oschina.net/zhdya/blog/1502646

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值