One thing you should know about spammers is always to go for low hanging fruit. Same thing with hackers. By this, I mean that they will choose the easiest to hit goals that affect most users. This is why vulnerabilities in PHP and Windows are often used: they affect so many users that if you find such a weakness / exploit, your target "market" is huge.
This is also a big part of why Linux and Mac OS remain relatively unscathed viruses, for example: the target market is much smaller than Windows. Now I do not equate the security and reliability of Windows with Mac / Linux, but even though the security model of the last two is much better, the number of attacks against the first is still disproportionate to the shortcomings that it has.
I am talking about this because one of the best ways to avoid such problems is not to use popular software. For example, phpBB has many attacks made against it just because it is so popular.
Thus, making your own chat / forum system, you are at a disadvantage, because you have a system that does not have field testing, something popular, but you also have the advantage that it is not worth a spammer to to use him. So you need to keep track of what automatic systems can do against you. Contact forms on sites typically have recognizable tokens (for example, name, email address and comment fields).
Therefore, I would advise:
- Ignoring responses that enter within 5-10 seconds of sending the form to the user;
- Using honeypot (hidden CSS / JS fields as described elsewhere);
- Using Javascript, where applicable for rendering, reordering, or displaying a form;
- Using unpredictable form field names; and
- Negative throttle responses over IP.
cletus
source share