htaccess阻止请求/?

时间:2015-07-01 22:45:12

标签: regex apache .htaccess security

我正在获取大量机器人或某些东西上网用于以下网址:www.website.com/ ?how-much-does-a-ventolin-inhaler-cost-in-canada

我不知道它们是什么,它不会解决我的网站上的任何问题,但它会导致重大的mysql开销,因为我的索引有一些繁重的查询。

我似乎无法弄清楚如何通过htaccess来阻止这些因为问号...

我在想这样的事情:

$ ls -altr /var/www/html/.htaccess
-rw-r--r-- 1 apache apache 178 Jul  2 00:31 /var/www/html/.htaccess

但没有骰子。

2 个答案:

答案 0 :(得分:0)

在“?”之后找到的所有值在URL中称为查询字符串参数。您的整个网站是否不使用查询字符串参数?在使用查询字符串参数删除每个请求之前,您可能需要小心,因为这是使用互联网的一种非常常见的方式。

如果你真的想剥离它们,下面的代码就可以了。

RewriteEngine On  
RewriteCond %{QUERY_STRING} !="" 
RewriteRule . - [F,L]

但是,这只会阻止包含查询参数的所有页面请求。任何人都可以在没有任何查询参数的情况下轻松垃圾邮件,如果他们知道这会导致导致拒绝服务的问题。

这整个问题听起来有一个更系统的问题 - 它不应该给那些点击默认页面的人带来很大的开销。

答案 1 :(得分:0)

我猜你会发布webstats或一些类似的信息,如热门网址,热门推荐人等。因为症状表明你是搜索引擎中毒的目标。