几个星期以来,我的网站正在接收http POST请求,这些请求正在降低它的速度或者速度非常慢。
首先,我可以使用htaccess来阻止这些请求,方法是阻止所有POST请求,其中Referrer为空或不等于我的域。
但现在他正在使用虚假推荐人作为我的域名。
所有请求都有不同的IP和不同的User-Agent。
这些是几个请求信息:
IP: 86.131.147.218
HOST:
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
Method: POST
Protocol: HTTP/1.1
Refer: http://zoocine.net/
POST Vars: do=search&story=kiri+S01E02&subaction=search
IP: 82.25.10.2
HOST:
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0
Method: POST
Protocol: HTTP/1.1
Refer: http://zoocine.net/
POST Vars: do=search&story=ghost+adventures+S07E18&subaction=search
IP: 98.233.119.166
HOST:
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Method: POST
Protocol: HTTP/1.1
Refer: http://zoocine.net/
POST Vars: do=search&story=game+of+thrones+S07E01&subaction=search
现在我已拒绝所有POST请求,但这也拒绝我的用户搜索网站,登录或使用聊天框。
这是我现在的htaccess代码:
RewriteCond %{REQUEST_METHOD} POST
#RewriteCond %{HTTP_REFERER} ^$
#RewriteCond %{HTTP_REFERER} !zoocine\.net [NC]
RewriteRule .* - [F,L]
有什么办法吗?
答案 0 :(得分:1)
实施CSRF令牌,以便您知道他们是否直接从服务器发出请求:https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet有多个PHP库可以为您构建CSRF令牌。
在您的网站上运行https://securityheaders.io/,它会为您提供有关您应在网站上设置哪些HTTP标头以防止攻击的指示。
您还可以阻止发出此类请求的特定IP地址,但如果他们不断更改IP地址,则无法进行管理。