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
please send trackback to:
http://sh1.2-d.jp/b/trackback/2006-02-23-23-39

