月光博客 » 网站建设 » 防止垃圾广告和盗链的新方法

防止垃圾广告和盗链的新方法

  前天晚上,我遭到了垃圾留言广告的袭击。

  晚上我刚去打了2个小时游戏,就有人用程序狂灌我几百个垃圾留言广告。这时我也发现目前的防垃圾留言系统存在漏洞,那个发广告的家伙先用程序伪造了refer,然后每篇文章只有一个链接,这样就绕过了我设置的过滤,达到了大量发送垃圾信息的目的。

  看来我目前的反垃圾留言程序还是有问题的。于是我经过一晚上的重新编码,增加了一个自动封IP地址的功能,如果判断半个小时内同一个IP地址留言中包含的超级连接数目超过10,就判断其为垃圾留言发送者,系统就自动封其IP地址,阻止这个IP地址继续发送留言。

  现在看看目前的反垃圾系统是否能较好工作,如果还不行的话,只好启动验证码了,虽然个人感觉验证码会降低用户体验。这个反垃圾广告插件是基于原版Z-Blog 1.5系统的,如果你也在用Z-Blog 1.5这个系统,也可以下载使用,对于1.6的测试版,本程序应该也可以使用,不过我没测试过。

  点击这里下载:Z-Blog反垃圾广告插件

  另外对于垃圾引用,我也想到一个新的对策,就是当系统接收到一个引用的时候,先取得那个地址的内容,如果包含本站的链接,说明是正常引用,否则就是垃圾引用。

  最后对于图片的盗链,我终于无法继续忍受了,添加水印的方法基本上没有任何作用,过了这么长时间,盗链的情况依旧没有减少,盗链占用了太多的流量和系统资源,每天占用了10G多的流量,严重影响了我的博客的正常用户访问,因此我只好启用了ISAPI_Rewrite这个最终杀手来防止盗链,不过目前我允许bloglines、zhuaxia、google、baidu这几个网站引用我站图片,如果你也需要引用我站图片,请把域名告诉我,我审核后可以开放。

  ISAPI_Rewrite的httpd.ini内容写的是下面内容,如果你也遇到盗链的困扰,建议可以参考一下:

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://(?:www\.williamlong\.info|www\.moon-blog\.com|www\.bloglines\.com|www\.zhuaxia\.com|www\.google\.com|cache\.baidu\.com)).+
RewriteRule .*\.(?:jpg|kmz|kml|zip) /block.gif [I,O]

  注释:第二行里面的域名是允许链接图片的网站列表,目前我允许我自己的两个站和另外bloglines、zhuaxia、google、baidu这四个网站引用我站文件,其他网站的引用被禁止。

  第三行是禁止引用的文件类型,包括jpg图片、Google Earth的kmz和kml、zip文件。当然,还可以增加其他类型,比如gif、rar等,因为我站没有那些文件,所以没有添加上去。

  更新:晚上看了一下IIS日志,图片目录占用流量降到了1.5G,一天时间ISAPI_Rewrite阻挡了3万4千次盗链请求,真是个不错的成绩啊。

防止垃圾广告和盗链的新方法

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    hero   说道:
    請問一下圖片盜連 加浮水印有何用呢?
    只能說明出處不是該網站吧!
    支持(12反对(6回复
  1. 2
    左飞   说道:
    图片在抓虾里显示不了,你测试一下把.
    支持(7反对(2回复
  1. 3
    sangern   说道:
    学习学习
    尽量避免
    支持(10反对(5回复
  1. 4
    steven89526   说道:
    我转载贵站的文章时盗链了图片,实在不好意思。
    您可否把https://www.williamlong.info/archives/542.html此文章的所有图片给我(没有水印的原始图片)?我实在找不到坐标,本来我想自己去google earth里截图的。
    请您发到我邮箱,地址已填在邮箱栏里了!
    非常感谢!
    支持(10反对(7回复
  1. 5
    steven89526   说道:
    邮件已收到,谢谢!
    另外,我清空缓存之后图片就正常了,我还需要什么图片会自己下的,不会再麻烦您了!
    谢谢!
    支持(10反对(8回复

发表留言


点击更换验证码