Thu, 23 Feb 2006

trackback spam

trackback spamが来た。

COREBlogな人々がトラックバックスパムだって大騒ぎしてるのを横目に、 これまでトラックバックスパムは一通も来たことが無かったので、 特に対策をするでもなく放っておいたのですがとうとう来るようになってしまいました。

どうしようかなーと思ってたのですが、先人の知恵を拝借しようと setomitsさん の所を検索したらありましたありました。blogツールは違っても 結構そのまま使えました。ありがとうございます。これで無事解決するかな。

comments.py のwriteComment()の中を下記の様にしました。

***************
*** 308,319 ****
      cdir = os.path.normpath(cdir)
      if not os.path.isdir(cdir):
          os.makedirs(cdir)
!     cfn = os.path.join(cdir,entry['fn']+"-"+comment['pubDate']+"."+config['comment_draft_ext'])

      argdict = { "request": request, "comment": comment }
!     reject = tools.run_callback("comment_reject",
!                                 argdict,
!                                 donefunc=lambda x:x)
      if reject == 1:
          return "Comment rejected."

--- 284,312 ----
      cdir = os.path.normpath(cdir)
      if not os.path.isdir(cdir):
          os.makedirs(cdir)
!     cfn = os.path.join(cdir,entry['fn']+"-"+comment['pubDate']+"."+config['comment_ext'])

      argdict = { "request": request, "comment": comment }
!
!     if comment['author'].find('Trackback from') != -1:
!         # This is trackback.
!
!         import urllib
!         my_url = config['base_url']
!
!         f = urllib.urlopen(comment['link'])
!         content = f.read()
!         f.close()
!
!         if content.find(my_url) == -1:
!             reject = 1
!         else:
!             reject = 0
!
!     else:
!         reject = tools.run_callback("comment_reject",
!                                     argdict,
!                                     donefunc=lambda x:x)
      if reject == 1:
          return "Comment rejected."

Trackback

Comments


たいしたこっちゃないですが効果的ですよね。
ただ、こういう対策って施してもスパムが来ないことにはイマイチ効果が実感できなくて、スパムが来てほしいような来てほしくないような、変な気持ちになりますね。

Posted by setomits at Fri Feb 24 00:55:33 2006



確かに(笑)

アクセスログ見たら早速効果を発揮してましたよ。ありがとうございました。

Posted by shunuhs at Fri Feb 24 07:15:29 2006




Name:


E-mail: (option)


URL: (option)


The Magic Word: please enter the '0730'.


Comment: