I have provided
more sophisticated protection codes for the Captcha module. Please check them now and apply on your end to try.
You see, removing what was done, is the last step of "improvement", that means there is no way on the pre-posting stage, and that's the most important to take care of. That's why if nothing helps, I could finally code this... not this time.
Most recently, we have also experienced the massive attack of flood registrations on miniBB forum. They were mostly coming from China, IP networks 27.153.+ and 27.159.+, one in about 5 minutes, so I'd expect it is automated process. The solution I suggested above, may improve the protection. I've temporarily added them to the banning list, and the amount of flood registrations significantly decreased.
For some time I didn't catch the idea of those registrations - what would be the main sense? To make the database of users larger and with false accounts?.. Stupid idea. Later, I've analyzed all of the registration emails I've got as the administrator, and they were about only @gmail.com emails registrations, which of course are thoroughly false. For example:
m.ai.nta.i.ne.a.c.y@gmail.com
m.a.int.a.in.ea.c.y@gmail.com
a.lchem.i.stet.hw@gmail.com
a.lchemi.s.t.et.h.w@gmail.com
al.chemi.s.t.et.h.w@gmail.com
al.c.h.emi.s.t.e.t.h.w@gmail.com
al.ch.emiste.t.h.w@gmail.com
s.ens.i.b.l.e.qxdi@gmail.com
s.ensib.leqx.d.i@gmail.com
or.di.na.n.c.eh.ne.n@gmail.com
ord.in.a.n.c.e.hne.n@gmail.com
and so on. It's obvious the coder takes some phrase, from the vocabulary or whatever database of words, in some case extends it with random chars, and then uses dots in random places to get even more "unique" emails to register. Surely, "usernames" also appear completely random phrases, consisting of chars and digits.
I have thought that this could some way be an attack on gmail server, because miniBB will try to send out the registration email to the address provided, and it will fail each time; so at some day, Gmail will think miniBB's server floods their service too randomly and too often, and it may block our IPs or domain or whatever.
Of course, there are TONS of ways to "register" randomized emails, but there are actually a few ways to fight such approach:
1) Do not send registration email to Gmail accounts at all. Alternatively, it's possible to supress any other public email service. However, it was only my expectation that flooders may "rape" servers that way. Also, this will not actually stop the registrations themselves.
2) Do not allow to register Gmail-based account if its username contains more than 1 (one) dot in it. It could help and it could be a not destructive solution to the core. Just add this to
bb_plugins.php (before the Captcha code):
/* Registration - disabled some Gmail accounts */
if($action=='register'){
$chkEmail=strtolower($_POST['email']);
if(substr_count($chkEmail, '@')==1 and substr($chkEmail, -9)=='gmail.com'){
$spl=explode('@', $chkEmail);
$un=$spl[0];
$dots=0;
for($i=0; $i<strlen($un); $i++){
if($un[$i]=='.') $dots++;
}
if($dots>1) $correct=7;
}
}
/* --Registration - disabled some Gmail accounts */
and this to the end of your language pack:
/* Forbidden Gmail */
$l_userErrors[7]='Sorry, you can\'t use this email address for registration! Try another one.';
I've applied the same codes on miniBB forum. Let's see if it helps. You may try the same so far.