Sprečavanje spama na phpBB forumu
Posted on May 24th, 2007 in phpBB | 5 Comments »
Čista instalacija phpBB foruma je podložna napadima spam botova. Sami se registriraju (čak i ako imate uključenu vizualnu verifikaciju) te na forumu objavljuju linkove na razne stranice, obično pornografskog sadržaja.
Evo kako se (jednostavno) zaštititi protiv botova. Prilikom registracije, botovi obavezno ispunjavaju jedan (ili više) slijedećih podataka: icq broj, web stranicu, zvanje/zanimanje, interesi… Ovaj “mod” se upravo temelji na tome. Ako prilikom registracije budu ispunjeni neki od ovih podataka, registracija neće uspjeti.
Potrebno je izmjeniti dvije datoteke: /includes/usercp_register.php i /templates/subSilver/profile_add_body.tpl.
U usercp_register.php je potrebno iza:
$unhtml_specialchars_replace = array('>', '<', '"', '&');
dodati:
if ( $mode == 'editprofile' )
{
$template->assign_block_vars('only_show_notbot', array());
}
također, iza slijedećeg dijela koda:
if ( !($row = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_ERROR, 'Could not obtain next user_id information', '', __LINE__, __FILE__, $sql);
}
$user_id = $row['total'] + 1;
treba dodati:
if ($icq != '' || $website != '' || $occupation != '' || $interests != '' || $signature != '')
{
die();
}
U datoteci profile_add_body.tpl potrebno je izmjeniti sve dijelove gdje se traži unos icq, webstranice itd. na način da se ispred toga doda:
<!-- BEGIN only_show_notbot -->
a iza toga:
<!-- END only_show_notbot -->
