封掉可恶的 referer spam

不知我的 blog 是如何惹上那么多的 referer spam 的。26 号的时候大量的 referer spam 使得空间的服务商以受拒绝服务攻击为由把我的空间停用了,两天后才找到他们的客服,才把空间恢复。

昨天下午查了一下 .htaccess 的用法,把 referers 插件的 referers 日志中整理出 referer spam 的主机 ip 以及一些关键字加到 Apache 的 .htaccess 里 ban 掉,才总算清静了。

先把 DotClear 的 Referers 插件的 blacklist 和 Blockreferer 的 blacklist 设为同一个文件,然后通过 Referers 插件检查 referer spam 的主机以及关键字,添加到 blacklist 里面,到 Blockreferer 里面就可以看到被 block 的 referer spam 的 IP 了。再把整理出来的这些 IP 和关键字加到 .htaccess 文字里。

    方法如下(需要服务器允许使用 .htaccess):

  1. SetEnvIfNoCase Remote_Addr [IP] ban
  2. SetEnvIfNoCase User-Agent [Browser Name] ban
  3. SetEnvIfNoCase Referer [Referer Keyword] ban
  4. <Files *>
  5. Order Allow,Deny
  6. Allow from all
  7. Deny from env=ban
  8. </Files>

有同样困扰的可以直接下载我的 .htaccess 文件使用。

5 thoughts on “封掉可恶的 referer spam”

  1. REG_EMPTY in /home/tsing/public_html/blog/ecrire/tools/blockreferer/functions.php on line 42

    Warning: eregi(): REG_EMPTY in /home/tsing/public_html/blog/ecrire/tools/blockreferer/functions.php on line 42

    Warning: eregi(): REG_EMPTY in /home/tsing/public_html/blog/ecrire/tools/blockreferer/functions.php on line 42 tsing’s Blogtsing’s Blog

    ™就˜你”†‹后˜示š„‡˜

Leave a Reply to hedgehog Cancel reply

Your email address will not be published. Required fields are marked *