Hier mal mein kleiner Denkansatz...
Verfasst: Mi 04.Okt, 2006 23:15
Ich habe ein Kundenforum, wo die Benutzer sich einfach anmelden können...naja, und da kommt halt viel "Mist" zustande...da hab ich ein wenig mit dem MOD "Webside Signature Remove 1.1.11 MOD" rumgespielt und folgendes erstellt:
Alle extra Profilangaben wie Homepage, Beruf, Wohnort , Interessen und Signatur (mehr gibt's bei mir halt nicht) werden bei Registrierung erstmal ausgeblendet und statt dessen ein Hinweistext angegeben, das nach erfolgreicher Registrierung mehr Angaben gemacht werden können. Sollte nun ein "Bot" sich dennoch mittels versteckter Eingaben hier anmelden wollen wird er geblockt und zudem die IP-Adresse gebannt...nett, oder? :-)
Hier mal ein paar code-Auszüge aus der usercp_register.php:
Der Ban-Block:
Die erweiterte switch-Zeile (bei mir sind Signaturen zudem im ACP abschaltbar und noch ein paar andere extras mit Homepage und so drin...):
Frage (es scheint so perfekt zu funktionieren) hier wärenur, ob ich ($mode !== 'register') so richtig (also als code) geschrieben habe...hab so eine zeile sonst in der Datei nicht entdeckt, und ich bin halt nicht sooooo php-bewandert, ob das die korrekte "mode-verneinung" darstellt...
Wenn's auf Interesse stößt, kann ich's hier auch ausführlicher beschreiben :-)
Alle extra Profilangaben wie Homepage, Beruf, Wohnort , Interessen und Signatur (mehr gibt's bei mir halt nicht) werden bei Registrierung erstmal ausgeblendet und statt dessen ein Hinweistext angegeben, das nach erfolgreicher Registrierung mehr Angaben gemacht werden können. Sollte nun ein "Bot" sich dennoch mittels versteckter Eingaben hier anmelden wollen wird er geblockt und zudem die IP-Adresse gebannt...nett, oder? :-)
Hier mal ein paar code-Auszüge aus der usercp_register.php:
Der Ban-Block:
Code: Alles auswählen
if (($mode == 'register') && (($signature != '')||($website != '')||($location != '')||($occupation != '')||($interests != ''))) {
$sql = "INSERT INTO ".BANLIST_TABLE." (`ban_ip`) VALUES ('".$userdata['session_ip']."')";
if (!$db->sql_query($sql)) {
message_die(GENERAL_ERROR, "Couldn't insert ban_ip info into database", "", __LINE__, __FILE__, $sql);
}
session_end($userdata['session_id'], $userdata['user_id']);
message_die(GENERAL_ERROR, 'Protected by Schmidt EDV');
}Code: Alles auswählen
if ($mode !== 'register') {
if ($userdata['user_edit_profile']) {
$template->assign_block_vars('switch_profile_edit_allowed', array());
} else {
$template->assign_block_vars('switch_profile_edit_disallowed', array());
}
} else {
$template->assign_block_vars('switch_profile_register', array());
}Wenn's auf Interesse stößt, kann ich's hier auch ausführlicher beschreiben :-)