MyBB Community Forums

Full Version: Make CAPTCHA required on first few posts for new signups?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hi. In order to decrease the amount of spam on my forum, I would like to know how I can make users with less than 10 posts enter a CAPTCHA when they make new threads or posts. This should be possible, in General Configuration it says:
Quote:CAPTCHA Images for Registration & Posting
If yes, and GD is installed, an image will be shown during registration and posting where users are required to enter the text contained within the image to continue. This helps prevent automated registrations and postings.
How can I do this?
You'd need to edit some core files (or a plugin) to do that.

I can't really see the point though, if they've got through the captcha on registration then a captcha before posting isn't going to stop them.
Captcha will stop a few spambots but wont stop human spammers and that's a technique that's being used quite often nowadays. A better way is to require approval for posts/threads created by new users until they have a specific amount of (approved) posts.

http://mods.mybb.com/view/required-approvals
I'm hoping that the human spammers will just get bored and go away, and the spambots might just get confused with the new form field. The configuration options make it sound like this is possible out of the box. What would I need to edit to get this to work?
(2011-04-09, 10:37 PM)PodTube Wrote: [ -> ]I'm hoping that the human spammers will just get bored and go away, and the spambots might just get confused with the new form field. The configuration options make it sound like this is possible out of the box. What would I need to edit to get this to work?

The human spammers don't even get bored from being banned and creating a new account over and over again.
The CAPTCHA on posting is only for guests, you could just edit the code that checks if it's supposed to be shown and add in something to check if the user is new.

showthread.php line 1052, newreply.php line 438 and 1030, and newthread.php line 370 and 881 (that's 5 locations):

if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid'])

change to:

if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && (!$mybb->user['uid'] || $mybb->user['postnum'] < 10))

That should do it. Change the 10 the the number of posts you want to check against.
Big Grin Thank you so much for your help.
Manually approve all new accounts first posts. It's easy to spot spammers.
(2011-04-09, 11:25 PM)Uncontrol Wrote: [ -> ]Manually approve all new accounts first posts. It's easy to spot spammers.

How do I do this?
(2011-07-05, 02:39 AM)Bapun Raz Wrote: [ -> ]if you like have some +reps

Stop asking folks to give you reps!! If they want to give them to you, they will!!

Pages: 1 2