I agree with the earlier comment that it is an arms-race. Forum spam is in many ways similar to email spam, so the first things I thought of were something along the lines of SpamAssassin, or a Bayesian or other type of filter. Depending on the forum software, there may already be tools to do something similar. However, I would not discount the lower-hanging fruit:
- Is there a pattern in usernames that are making these posts?
- Is there a particular block/range of IP addresses they are posted from?
- Does the forum software have the ability to block certain strings, and if so, are there other string literals that appear in multiple of the posts that can be filtered on? (Understanding that this may only serve as a temporary barrier.)
- Are there other commonalities in the posts (user-agent, etc.) that can be examined for patterns to the postings?
- Is there some form of approval system required for posting in certain areas, or for posters of a certain age/post count that could be enabled? (Understanding that major changes in a forum may spark protests among some users unless handled tactfully.)
Also, have you looked for other resources (generic or specific to your forum software), such as http://www.stopforumspam.com/?
Hope that helps, and good luck.
Update: 2015-06-10
Added note regarding blocking of fixed strings.
Update: 2015-06-10
Added link to additional resources.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.