我最近再次遇到DDOS攻击的麻烦。 基本上我想禁止访问某条路径。
日志文件示例:
109.242.25.254 - - [23 / Mar / 2013:16:09:35 +0100]" GET /?op = my_account HTTP / 1.1" 200 4218" - " " Mozilla / 5.0(X11; U; Linux i686; en-US; rv:1.9.0.10)Gecko / 2009042523 Ubuntu / 9.04(jaunty)Firefox / 3.0.10
所以我想禁止空白推荐人或" - "引用路径"?op = my_account"然后将它们发送到403页。
我用htaccess开始这样:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?mysite.com [NC]
RewriteRule ^\?op=my_account$ - [F]
所以基本上我禁止除了我的页面以外的所有其他引用者。 但不知何故,这不会奏效。 我想我在第二行中遗漏了一些东西?
答案 0 :(得分:0)
您无法在RewriteRule
中使用\?op=my_account
,因为查询字符串在那里不可用,只有URL路径。您必须使用RewriteCond
代替%{QUERY_STRING}
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mysite\.com [NC]
RewriteCond %{QUERY_STRING} ^op=my_account$
RewriteRule ^$ - [F]