我试图通过多个机器人阻止对我们的分页参数的请求(看起来很邪恶)
出现了数百种这类请求:
http://www.ourdomain.com/search.php?q=search+query&page=366100876
有没有办法在.htaccess中使用正则表达式来发送请求页面大于1000或者参数'page'中任何超过4位的任何请求?
'q'参数当然总是不同。
谢谢。
答案 0 :(得分:0)
我从一篇名为Ultimate .htaccess file sample的非常酷的文章中得到了大部分内容。非常方便。
Redirect 500 /error500.html
RedirectMatch 500 ^.+{1001}.+$
这将发送任何长URL。
LimitRequestBody 102400
这会限制任何超过100K的请求。
专门定位GET变量page
:
RedirectMatch 500 ^.+page=[0-9]{4}.+$
答案 1 :(得分:0)
我试过这个并且它有效,将它添加到我的其他一些检查中:
RewriteCond %{QUERY_STRING} page=[0-9]{4} [OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
答案 2 :(得分:0)
答:htaccess:Rewrite, URI /*admin*/* [NC,OR]
- 您必须将“admin”中的任何内容重命名为其他内容,xyzzy,spot,nancy,fuivan ......这还包括登录等名称.php成为jumpjoy.php。
B:当你看到一次未经攻击的黑客攻击时 - 非RU的188次点击,非CH IP - 请联系托管公司并告诉他们。你经常会回来“谢谢你,我们找到并清理了机器人。[禁止用户]”
我从不显示“403 forbidden”,我重定向到其他页面(我随机选择了7个)。然后我追加htaccess“deny from $ IP”。我主办当地团体和企业,所以伊万不需要出租车......他买不起票价: - /我的htaccess有900多人否认。
我运行了一个crontab“find $ HOME -newer lasttime | mail-me; touch lasttime”。这样,如果有人在几个小时内就知道了。另外“chmod 444 [all] .php”。