通过.htaccess阻止“黑客攻击”尝试

时间:2010-01-08 20:11:27

标签: .htaccess

我试图通过多个机器人阻止对我们的分页参数的请求(看起来很邪恶)

出现了数百种这类请求:

http://www.ourdomain.com/search.php?q=search+query&page=366100876

有没有办法在.htaccess中使用正则表达式来发送请求页面大于1000或者参数'page'中任何超过4位的任何请求?

'q'参数当然总是不同。

谢谢。

3 个答案:

答案 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”。