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

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

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

  晚上我刚去打了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
    soskitty   说道:
    强人~汗一个
    支持(9反对(6回复
  1. 6
    steven89526   说道:
    邮件已收到,谢谢!
    另外,我清空缓存之后图片就正常了,我还需要什么图片会自己下的,不会再麻烦您了!
    谢谢!
    支持(10反对(8回复
  1. 7
    fisker   说道:
    关于引用,你的想法比较简单,你可以去sa-blog看一下,我觉得angel的想法还是不错的
    支持(7反对(5回复
  1. 8
    williamlong   说道:
    你是使用没有www的zhuaxia地址来访问的吧,我又修改了一下,你看看现在如何?
    支持(7反对(5回复
  1. 9
    hanvord   说道:
    想问下博主,你的站一个页面放两个ADSENSE FOR CONTENT 这样是被允许的吗?
    支持(7反对(5回复
  1. 10
    阿布   说道:
    没有独立主机,找来找去找不到好的相册空间,相信国外的 但又怕被和谐 呵呵~~迷茫了
    支持(9反对(7回复
  1. 11
    海天无影   说道:
    为什么我的不成功啊 而且我看可以盗链到你的图片啊 不知道为什么~
    支持(9反对(7回复
  1. 12
    tetsdsad   说道:
    无可奈何夺无可奈何
    支持(6反对(5回复
  1. 13
    williamlong   说道:
    地址在哪里?sa-blog用的是php?那还不如用WordPress,有现成的反垃圾引用插件可以用。
    支持(9反对(9回复
  1. 14
    williamlong   说道:
    根据Adsense的政策,每页最多可放3个广告单元。
    支持(6反对(6回复
  1. 15
    求助   说道:
    你那个Z-Blog反垃圾广告插件下来后怎么用?
    支持(5反对(5回复
  1. 16
    祥吉   说道:
    关于ISAPI_Rewrite的问题,我想请教一下.把网片换成一个网址不是是否可行..
    我的QQ:33832希望能加我,请指点一下..谢了.
    支持(8反对(9回复
  1. 17
    hiads   说道:
    我这几天也被spam搞怕了
    支持(9反对(10回复
  1. 18
    ZxMYS   说道:
    ISAPI_Rewrite....我没有独立主机5555
    支持(5反对(6回复
  1. 19
    志四方统天下   说道:
    学习了
    支持(4反对(5回复
  1. 20
    联搜   说道:
    引用
    支持(5反对(7回复
  1. 21
    BlueDrifter   说道:
    看了月光的评论,终于明白自己的IP为什么一不小心被禁用了。

    原来是自己太过激动,一口气回复太多内容了(但决不是灌水)。-_-!

    对于月光关于通过“验证码”屏蔽垃圾信息的顾虑,不是是否可以考虑,增加用户自行申请IP解禁的方式。

    即在IP禁用后,允许用户自行通过“验证码”解禁自己的IP,这样相信既不会增加站长的管理负担,也可以更加约束网站自动判断“恶意灌水”的条件。

    不知道,这个想法是否可行,还望站长考虑。 ^_^
    支持(6反对(8回复
  1. 22
    toto   说道:
    比较专业,高手
    支持(4反对(6回复
  1. 23
    williamlong   说道:
    你好,你只要清空临时文件,然后再访问该页,即可看到原始图片,你自己下载使用即可。
    支持(9反对(12回复
  1. 24
    kon   说道:
    手是大脑的延伸。。。没有终结的
    支持(5反对(8回复
  1. 25
    hanvord   说道:
    我的站也被SPAM,不知怎么弄,现在把留言功能关闭了.
    支持(6反对(11回复
  1. 26
    zeal   说道:
    建议你采用简单的逻辑问题作为anti spam的手段。至少我在被几千条垃圾留言给惹怒之后加了一个简单的数学加法计算来要求回答,就再也没被任何自动 spam给骚扰了:) 每天看到过滤日志里面几百条被屏蔽掉的垃圾,心里那叫一个爽!
    支持(6反对(12回复

发表留言