Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+8 votes
in Q2A Core by
Looking at implementing Q2A into a very high traffic (thus high spam) site so I'm curious what precautions have been taken to prevent spam, or what are others doing to prevent it.

2 Answers

+2 votes
edited by
Excellent question.

For now the solution is basic, based on the 'Limits' section of the admin panel, which allows you to set rate limits per IP address and/or per user.

However if you are running this on a high traffic site I understand this won't be sufficient. If you don't want to wait for more sophisticated anti-spam functionality in future versions, my suggestion would be to look at qa-app-limits.php, and make some customizations.

For example, the qa_limits_remaining() function allows you to block any write action (question, answer, comment, vote), for example based on IP address or user ID. Just return zero from this function to make an error message appear in the user's browser (or scraper...)

Also look at qa_report_write_action() in the same file, which is called every time something is done that writes to the database. You can use that to build an activity profile based on your needs. See the bottom of qa-external-users.php (in qa-external-example) for more information on what the parameters mean.

FYI beta 2, to be released within the week, will add some more actions, so you might want to wait a few days before starting any customization.
how about implementing akismet.php and Bad Behaviour? Don't reinvent the wheel: these 2 scripts works usually very well, to a point that a captcha might not even be needed at all.
+1 vote
Due to popular demand, I'll be adding captcha support in beta 3.