Anti-Comment Spam Tactics

There is a lot of discussion going on right now about now regarding comment spam and how to stop it. Comment spam is basically a comment posted to your blog that may/may not have anything to do with your post (I’ve seen/had it both ways), but it will include a link either within the comments or from the authors “website” for a commercial website. Most of them seem to be selling herbal products, Viagra, or direct mail items. The idea behind stopping comment spam is two-fold: First, no one wants their website to be a graffiti wall. Second, this seems to be just the first “wave”. Many of the spam comments are being done by a few individuals actually trolling for MT websites. The real deluge is coming as more and more automated “bots” start searching the web MT comments forms to auto-fill with their spam messages.

So, the question is: What can I do to stop comment spam? Here’s a rundown of some ideas that are slowly making their way around the internet. They are certainly going to be expanded and revised over the next few months, but –rather than wait– you should get an early start and stop spam now. As with graffiti, once it’s there, it just leads to more people tagging your site because you’re “easy”. (You don’t want to be “easy”, do you?)

  1. Implement the ScriptyGoddess Comment Queue Hack. This great script will put all comments into a “holding cell” until you can approve/disapprove them. With this method, you do lose some of the immediate interaction, but you can screen comments and pull out the spam. For a lot of people, this is a very difficult solution because it does involve modifying your Movable Type installation somewhat and you do need to monitor the comment queue on a regular basis. For these two reasons, this may not be the answer for you.
  2. Implement Burningbird’s Comment Spam Quick Fix. This is a very good, simple solution and a great first step. You are adding a hidden field to all of your comment forms and then telling MT to look for that information when it processes the comment form. This should eliminate a lot of the spam comments from bots. When you work this into your templates, please make sure you choose your very own, unique value. Burningbird uses “goaway”. You could use any alphanumeric combination. Just like passwords, the more jumbled the better.
  3. Implement Jacob’s “Edit/Delete Comment” hack for your comment notification. Jacob modified the mt-comments.pm file to add a line to the bottom of your comment notification email that includes the link to the “Edit/Delete Comment” screen. This is a simple and fast way to take care of comment spam that is sent by actual visitors to your site. It’s a very simple hack and the documentation is really goo.
  4. Integrate a Turing test to eliminate spam from bots. James Seng has finished his version of a Captcha Turing Test as an MT Plugin. You can see it in action and download it on James’s website. James’s plugin basically gives you a graphical validation - so the user has to type in the numbers shown in a graphic in order for the comment to be processed. If you have ever signed up for Yahoo mail or used Paypal or Network Solutions, you’ve probably seen something like this in action. This will eliminate all of the comment spam from bots, as very few of them will be programmed with the ability to defeat the random sequence. I first saw this on a blog by MrBlog, who has since released his source code for Greymatter in hopes that it will be ported to MT. It needs to be said that using a captcha presents some usability issues, as those with graphics disabled or users who have a visual handicap may not be able to comment using the default install. At this time, there is not an enhancement to this plugin to remedy that. This is still an OUTSTANDING solution, just measure the accessibility versus the effectiveness when considering this solution.
  5. Implement the Comment Spam Blacklist being put together by Jay Allen. It’s not actually released yet, but Jay is making it possible to use this plugin to test URLs in your comments and trackbacks against a blacklist of known spam offenders. This is supposed to be available for download on 10/13/2003, but it may/may not be as this is just one man’s project and we all have to be respectful of his time. Girlie is implementing Jay’s solution as his alpha tester and reports that it is working with no hiccups just yet. Everyone can add to the blacklist and the community list should be included once the plugin is released. In the meantime, Jay has some screenshots of how it works. You definitely want to stay updated on Jay’s site to get the latest.

Finally, the only 100% foolproof way to stop comment spam is to stop comments altogether on your website. For me, this is not a solution. Comments encourage interaction and help visitors get to know you and vice versa. But, if you can’t comment, you can’t comment spam, so your mileage may vary!

53 Responses to “Anti-Comment Spam Tactics”

  1. aba Says:

    I’ve read the article with great interest, but…

    comment queue: Maybe nice for people online most of the day and a site that is not too crowded, but it could get annoying.

    comment spam quick fix: It’s no more that a quick fix.
    But, just out of curiosity: Instead of using a hidden parameter that is fixed, why not using one that uses a encoded timestamp and/or ip information?
    Thus it’s possible to get rid of any comment spammer who tries to adapt to the hidden field (I’ve seen it with email spam, so why not with comment spam - just check the page for “INPUT HIDDEN” and go on). Check the time and if it’s older that x minutes redirect to the message and ask to click again to get to the comment form. Check whether an ip is trying to send comments too often in x minutes and block it for a while to access the comment form (it would be helpful for this to work right to separate the comment form from the article, using a new page for the comment form).

    Another way could be to use sessions - sending a comment without reading the news or other comments beforehand seems quite odd, so sessions would guarantee that someone is not just accessing the comment form to comment on things he didn’t even read (here to it would be helpful to separate article/comment form).
    In both cases (with separated article/comment form pages) you have to visit the article page and follow the link from there to be able to write a comment making it less likely that someone writes a script to spam - at least more unlikely as with the other solutions.

    The edit/delete comment fix is nice for people who swear or use inappropriate comments (in my country it’s sometimes against the law not to delete such comments - so it’s a thing I really appreciate even not in the context of spam) but I doubt that it’ll help against spammers - especially if it get’s so nasty like email spam.

    turing test: you already mentioned the usability issues so I’m strongly against it. It’s a pity that some big pages use these and disabled people can’t access some of them - please don’t use them with weblogs.

    The comment Spam blacklist seems to be a good idea as well (hopefully the maintainer chekcks for proxies as well - would be a pity to ban people that are so unfortunate to share the same proxy like the black sheeps…) and it could be feed by the ip detection way I mentioned earlier in my comment.

    Thanks for listening

  2. Jennifer Says:

    I should probably add - although it doesn’t matter really :) that the “comment queue script” wasn’t originally intended to avoid comment spam. I know some people use it for this purpose, or suggested it be used for this purpose. But actually, it was requested by a business-blog owner that only wanted certain comments on the site (so even the “hey cool site” comments wouldn’t go through). Also - if you get more than your fair share of “troll-type-comments”, then it may be the logical choice, too… In any case, just wanted to clarify that - since so many people bring that script up when discussing anti comment spam options… :D

  3. meta-roj blog Says:
    monetizing blog spam
    long ago, i came to the conclusion that the only solution to spam was to increase the cost of doing business with spam. to that end, i’ve set a nice, reasonable price point for the time it should take me…

  4. KevinDonahue.com Says:
    I’m feeling like a goddess again
    Jennifer was so kind as to let me do a Anti-Comment Spam Summary post over at Scriptygoddess. I think this is my fifth guest post over there. I think I’m moving up towards Christine’s ScriptyDiva status! LOL!…

  5. Christine Says:

    For a weblog, I think the Turing test is great - and I surf using Ghostzilla a lot, which affects what images I see. I have reservations about a spam blocking list simply because I’m afraid that good people will be blacklisted thanks to dynamic IPs.

    As this continues to be a bigger problem, it will be interesting to see what solutions come out.

  6. Winds of Change.NET Says:
    Comment Spammer Infestations: Report
    We’ve been hit by the Lolita comments spam, and there’s also a Swedish neo-nazi spammer at work. We’re dealing with it… and we may have stronger measures on the way.

  7. Joe Katzman Says:

    I tried Burningbird’s hack, and it ended up stopping ALL comments cold and giving me -500 errors. Wondering what I might be doing wrong.

    In line with your guidelines, I’ve left the broken implementation running, and you can see it by clicking any comments links on the Winds of Change.NET home page. Sigh. It’ll spam-proof the blog, anyway. You can see the code I’m using over here:

    http://windsofchange.net/Blog_CommentSpam_QuickFix_Try.txt

    This should work, no? Can anyone out there tell me what I’ve done wrong (MT 2.64, MySQL, Perl 5, Apache)?

  8. Chris Says:

    I have the Captcha working wonders.
    Currently it has solved my problem.

  9. Jennifer Says:

    I think the “Spam blocking list” isn’t IP based - but content and URL based… Take a look at the screenshots. I actually didn’t see ANY IP information there.

  10. rants and ramblings Says:
    comment spam
    Spammers have found a new target: Weblog and messageboard comment forms. I’ve heard a little about comment spam — unsolicited advertisements for, say, products or porn sites posted to blogs and messageboards, sometimes en masse — over the past couple…

  11. Emmanuel's Link Flow Says:
    http://doping.sics.se/linkflow/archives/2003_10.html#001421
    Anti-Comment Spam Tactics…

  12. jenett.radio Says:
    Comment Spam - Info. and Resources

  13. jenett.radio Says:
    Comment Spam - Info. and Resources

  14. ***Dave Does the Blog Says:
    Commentary
    I like blog comments. I understand why some folks don’t turn on the comments functionality in their blogs, either because…

  15. 布拉格的春天 - Frey 的網路誌 Says:
    垃圾迴響 (Comment Spam)
    最近突然多了一些 MT 部落格的垃圾迴響,本來以為有人開我玩笑,深入看看發現是最近 MT support forum 上討論得很熱門的一個大問題 - Comment Spam,我稱之為垃圾迴響。…

  16. 90% Crud Says:
    Moveable Type Commen Spam
    There’s been a lot of talk recently about spammers posting comments in Moveable Type to attract people to their sites. Jay Allen has created MT-Blacklist which blacklists comments based on the linked content. He surmises that the linked content is…

  17. Design-A-Blog Says:
    Have You Been Spammed Yet?
    Comment spam is suddenly the topic du jour in the blogosphere. I admit that even when suffering from writer’s block, a single spam comment can inspire much ranting. While there’s plenty of suggestions out there for how to stop comment spam, a lo…

  18. Kevin Says:

    The blacklist concept is content driven, not IP driven. It’s a great solution, once it’s available. I have the captcha running on my site and I like it. I’m keeping it. I guess I could load up some random wav files as an alternate for text only use, but I think the percentage is very, very low for my audience.

    The best part about this discussion is that it is definitely moving the solutions to be better & better for everyone.

  19. UtterlyBoring.com Says:
    Everybody’s getting MT Comment Spam
    I’m glad to know I’m not the only one that’s getting hammered with this stuff. Granted, I maybe get 1 or 2 spam comments a day, but nothing major. This…

  20. Kevin Says:

    Joe - Your code looks correct so I have to wonder if you have cgi.pm installed. If you have shell access, you can use the command “perldoc CGI” and it should return the documentation. If it doesn’t, then the module isn’t installed on the server. It’s pretty standard for most apache installs, so that seems like I’m reaching for a remedy. If you could verify that, I’ll try to track it down in more detail.

  21. Joe Latzman Says:

    I looked at my control Panel (cPanel X at Bloghosts.com). It lists that module as installed, and I can find it there, perl version 5.6.1. CGI - simple common gateway interface class. I can also see CGI.pm when I FTP to cgi-bin\extlib, it’s about 204 KB

    I’ll take this one to my host, and if they tell me anything I’ll fill y’all in here. Meanwhile… suggestions?

  22. fluffyblog Says:
    Short-term spam solution
    Okay, this solution seems to work pretty well. Describing it will make it useless in a few days if the spammers find out how I’m doing it, but that’s okay because it looks like I’ll have phpBB integration by then anyway (since I finally got the informa…

  23. Pete Says:

    I like the captcha idea more than the rest, for obvious reasons, but there are a few thoughts that I had on it.

    a) A centralized system for this could be nice, as currently even decent OCR programs can read the numbers. Centralizing could allow the program to take advantage of more complicated image libraries.

    b) With a bit of thought and a well developed cookie, it seems like you could prevent real people from having to verify their humanity more than once. Keeping a list of current cookies that are out could allow you to invalidtate one if a comment spammer did manage to break it.

    c) It would be possible to implement the captcha, use Javascript checking to ensure that it’s not blank. If it IS blank, run it through the Turing test and if it fails, put it in a queue to be reviewed before being published. If the turing test worked (and worked well) that would be a fairly stable option that really limited the number of false-positives.

    In the end, though, I think the Captcha is probably the best idea.

    Just my 1.5 cents.

  24. Big Pink Cookie Says:
    Take That, Spammers!
    Lately, there have been a lot of issues with spammers attacking blogs and leaving spam in the comments. This weekend,…

  25. Greg's Place Says:
    MT Spammers
    Looks like I was hit with a comment spammer recently. This weekend, lots of comments were added that linked to

  26. Joe Katzman Says:

    Kevin, I have the answer…

    “Have you reset the permissions on mt-comments.cgi after you made the changes? It looks like the file has been modified. If I chmod it to 755 and attempt to pull up comments on your site it works fine.”

    That works.

  27. anything but ordinary Says:
    Brain Purge
    Here are a bunch of random links I’ve been saving… :) Ever wonder what happened to Webster? Or Radar? How ’bout Yakov Smirnoff? Right Said Fred? This website sets out to answer those questions. whatever happened to… via The Presurfer…

  28. Sugarfused Says:
    Comment Spamming
    Information at Scripty Goddess on what you can do to keep your weblog from becoming a “wall of grafitti”. I need to study up… (link via Melissa)…

  29. wKenShow Says:
    ASS Blogging
    There seems to be a sudden interest in stopping SPAM from filling up blog comments, and several people have

  30. Mind of Knowledge Says:
    Spam - Nº 2
    New Spam MT-plugin! Killing Comment Spam Dead! Go get them!

  31. Rich Blinne Says:

    I have a different way of attacking the problem.

  32. OrbBlog Says:
    Solving spam comments…
    So far this blog has been free of SPAM comments but it is a large and growing problem but there are different methods on how to deal with it. Emmanuel found a page at the Scriptygoddess that lists several methods….

  33. James Seng Says:

    The general complain is that the image verifier is unfriendly to disabled or those who do not have a graphic browser. Hearing your feedback, I spent the last 2 days working on a bayesian plugin. To cut the story short, I wrote a plugin which will allow you to train your movabletype blog to automatically identify spam comments and pings.

    http://james.seng.cc/archives/000152.html

  34. Chris Says:

    I am a huge fan of Bayes as an anti spam solution however I’m with Pete on the captcha side of the fence.

    James - you should go for that programmer job at MT - you rock.

  35. Pete Says:

    Agreed… I use a bayesian filter for email spam and it works very well, although I still think that allowing captcha-verified email to bypass the filter would be a very handy thing.

  36. blogdriverswaltz.com :: throw another blog on the wire :: Says:
    Comment Spam (continued)
    Scriptygoddess has posted a nice summary of tactics to use against spammers. I’m (knock on wood) relatively spam free at…

  37. James Seng Says:

    Honestly, I kind of regret doing the CAPTCHA :-(
    Nearly 10 years, I spend a lot of time helping to blind and deaf folks getting online, using IRCs and stuff. I regret not remembering them when I release the image verifier…

    But then again, there is no 100% solution. So for those who did use my image verifier, I appeal to you to give those disabled a bit of consideration, or an alternative ways to post.

  38. Jay Allen Says:

    That is highly commendable of you, James. Honestly, I am really happy to read those words…

  39. Stupid Evil Bastard Says:
    More solutions for combating comment spam.
    Seems blogs being hit by comment spam is growing worse with each passing day and as such the talk of the town in the MoveableType community has been how to stop as much of it as possible. There’s a thread devoted to this topic over at ScriptyGoddess th…

  40. :: Dennis' Blog :: Says:
    Comment Spam Resource
    Hey–if you’re wondering about stopping comment spamming, check out this site. I implemented measure two to keep out automated posting…

  41. bradblog Says:
    Must be an emerging trend.
    While surfing my blogroll, I stopped off at Geoff’s blog - the inimatatable blog driver’s waltz. Saw this item on…

  42. blog.mapu.de Says:
    Gesammeltes zu Kommentar-Spam bei MT
    Ich hatte zwar seither keine Probleme mehr mit Kommentar-Spam (*auf Holz klopf*), falls es aber mal wieder vermehrt Ärger geben sollte, habe ich hier mal meine dazu gesammelten Links abgelegt: Kommentar-Spam bei MovableType [Bloghaus] Subscribe to comm…

  43. jezz journal Says:
    No Place They Won\’t Go
    I just spent the last hour or so going through my site looking for spam comments, which have become an epidemic in the world of weblogs. Basically, it’s like a little spider that comes to your site and filles out the form with a fake comment filled …

  44. Rover Says:
    MT-Blacklist
    Comment spam has been bugging me for some time. I’ve looked at some anti-comment spam solutions and have decided to go with MT-Blacklist at the moment…

  45. Memo Leaves Says:
    海外はComment Spamをどうしているんだろう?
    久々にコメントスパム来ました。 カジノがどうこう書いていましたがまぁサクッと例の奴使って削除しました。 #2件だから手で消しても大差ないw んで昨日ちょっと気になった、海外ぅ

  46. assorted Says:

    There’s another solution that I would like to see that’s not mentioned in your blog - make it an option in Moveable Type to take out the

    Even if that’s not an option for everyone, it’s an option I would like to see in the next MT.

  47. aimless Says:
    Spam aggravation
    Over the last few days I was hit by more than the usual amount of spam, which has me trying out some less invasive anti-spam tactics. First, I have implemented Burningbird’s Comment Spam Quick Fix, which places a code that…

  48. aimless Says:
    Spam aggravation
    Over the last few days I was hit by more than the usual amount of spam, which has me trying out some less invasive anti-spam tactics. First, I have implemented Burningbird’s Comment Spam Quick Fix, which places a code that…

  49. Krispycube.com Says:
    Google ŖŭŰĎųšųňŹőŠ〓〓
    SEM Ūŵ|ŁĵijċĨīĈbGoogle 〓ŦŧŖŭŰJŖŭŰbweblogbblog, or whateverKĘĎųšųňŹőŠ〓〓IJ〓〓ķĿĽĦćĹJĤĞĎĈij〓Ь〓ĩķĤKc GooglebŦŧŖŭŰXųšųňŹőŠ〓〓YIJ〓〓 〓〓Ď BloggerJiKďĉĦķĆĤīĎīĊġĈ〓ăĿĩb Å

  50. Krispycube.com Says:
    Google ŖŭŰĎųšųňŹőŠ〓〓
    SEM Ūŵ|ŁĵijċĨīĈbGoogle 〓ŦŧŖŭŰJŖŭŰbweblogbblog, or whateverKĘĎųšųňŹőŠ〓〓IJ〓〓ķĿĽĦćĹJĤĞĎĈij〓Ь〓ĩķĤKc GooglebŦŧŖŭŰXųšųňŹőŠ〓〓YIJ〓〓 〓〓Ď BloggerJiKďĉĦķĆĤīĎīĊġĈ〓ăĿĩb Å

  51. DykeWrite Weblog Says:
    Got Spam?
    If you’re seeing a lot of spam on your MT powered blog there are a host of things you can do about it. An overview at scriptygoddess give you the basics. Personally, I suggest Burningbird’s Comment Spam Quick Fix. It’s…

  52. DykeWrite Weblog Says:
    MT 3.0 Comment Reg
    I just checked Six Apart’s (the peeps behind MovableType) page for TypeKey. It looks to be an interesting piece. I suggest keeping your eye on the project if you’re interested in comments/ user registration. In the meantime, if your chief…

  53. Segmentation Fault: Core dumped..;-) Says:
    Using CAPTCHA to “reduce” spam
    MT-Blacklist is great to prevent “Comment” and “Trackback” spams, but as I had alluded to in my previous entry, it’s pretty reactive in nature. Here’s really how MT-Blacklist prevents spam: Install MT-Blacklist, a content filter plugin. Set a bu…