Zeichenkette bei Registrierung verbieten
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Zeichenkette bei Registrierung verbieten
Wie kann ich im Registrierungsformular eine bestimmte Zeichenkette in einem Feld z.B. Beruf verbieten?
Habe dazu leider nirgends etwas gefunden.
Gruss und Dank im voraus,
Karsten
Habe dazu leider nirgends etwas gefunden.
Gruss und Dank im voraus,
Karsten
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Dazu musst Du die usercp_register.php modden. Wenn du nich viel Ahnung von PHP hast, ist es natürlich etwas vertrackt. Wie möchtest du denn die gesperrten Wörter verwalten? Sollen das feste gesperrte Wörter sein oder auch über das ACP einstellbar?
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Genau das ist mein Problem, ich hatte mir die usercp_register.php schon angeschaut, da aber meine php-Kenntnisse minimal sind, habe ich es nicht hinbekommen. Müsste aber nicht eher die functions_validate.php angepassst werden?
Ich brauche nur eine Zeichenkette, daher muss sie nicht über das ACP veränderbar sien.
Gruß
Karsten
Ich brauche nur eine Zeichenkette, daher muss sie nicht über das ACP veränderbar sien.
Gruß
Karsten
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Im functions_validate.php kannst Du die "böse Zeile" einfach nur löschen lassen, aber dies führt zu keiner Fehlermeldung. Du kannst die Checkroutine dort aber nehmen und ein wenig ummodeln.
Versuch das Folgende hier mal. Ich hab es nicht ausprobiert (leider kaum Zeit). Es sollte aber seine Funktion erfüllen.
Versuch das Folgende hier mal. Ich hab es nicht ausprobiert (leider kaum Zeit). Es sollte aber seine Funktion erfüllen.
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature);
#
#-----[ AFTER, ADD ]------------------------------------------
#
$check_var = array('aim', 'msnm', 'yim', 'location', 'occupation', 'interests', 'sig'); // Hier stehen die Felder, die auf das Badword geprüft werden sollen.
$badword = 'Coolboy'; // Hier Dein verbotenes Wort reinpacken.
for($i = 0; $i < count($check_var_length); $i++)
{
if ( $$check_var == $badword )
{
$error = true;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . 'Verbotene Zeichenfolge eingegeben!';
}
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Zeichenkette verbieten
Danke für Deine Hilfe, hat aber leider nicht funktioniert.
Hiermit hat es dann geklappt:
Gruß
Karsten
Hiermit hat es dann geklappt:
Code: Alles auswählen
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$username_sql = "username = '" . str_replace("\'", "''", $username) . "', ";
}
}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
if( $mode == 'editprofile' || $mode == 'register' )
{
if (strstr($occupation, 'beliebiger String'))
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Occupation_wrong'];
}
}
#
#-----[ OPEN ]------------------------------------------
#
languages/lang_german/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Fields_empty'] = 'Du musst alle benötigten Felder ausfüllen.';
#
#-----[ AFTER, ADD ]------------------------------------------
#
$lang['Occupation_wrong'] = 'eigene Fehlermeldung.';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Karsten
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Das war dann ein Missverständnis zwischen uns. Ich wusste nicht, dass Du auf Teilstrings prüfen willst. Dann müsstest Du bei meinem Code nur eine Zeile ändern.
Aus
wird
Aus
Code: Alles auswählen
if ( $$check_var == $badword )
Code: Alles auswählen
if ( strstr($$check_var, $badword) )
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
- dopppeldecker
- Mitglied
- Beiträge: 248
- Registriert: 24.10.2004 10:40
- Wohnort: Erndtebrück
- Kontaktdaten:
- dopppeldecker
- Mitglied
- Beiträge: 248
- Registriert: 24.10.2004 10:40
- Wohnort: Erndtebrück
- Kontaktdaten:
Wenn Du PHP5 hast, kannst Du mit str_replace() arbeiten.
In dem Fall baust Du dir ein Array:
und "ersetzt" die verbotenen Wörter (keine Angst machst du nicht wirklich), aber $count zählt wie oft das gemacht werden konnte und so weißt du, dass ein wort drin ist. also:
Ich denke das müsste ganz gut funktionieren.
Gruß
In dem Fall baust Du dir ein Array:
Code: Alles auswählen
$badwords = array('wort1', 'wort2');
Code: Alles auswählen
$count = 0;
if ( str_replace($badwords, '', $$check_var, $count) && $count )
Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it