Zeichenkette bei Registrierung verbieten

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
krotthowe
Mitglied
Beiträge: 4
Registriert: 22.07.2005 18:21

Zeichenkette bei Registrierung verbieten

Beitrag von krotthowe »

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
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

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
krotthowe
Mitglied
Beiträge: 4
Registriert: 22.07.2005 18:21

Beitrag von krotthowe »

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
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

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.

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
krotthowe
Mitglied
Beiträge: 4
Registriert: 22.07.2005 18:21

Zeichenkette verbieten

Beitrag von krotthowe »

Danke für Deine Hilfe, hat aber leider nicht funktioniert.

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 ]------------------------------------------
# 
Gruß
Karsten
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

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

Code: Alles auswählen

if ( $$check_var == $badword )
wird

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
krotthowe
Mitglied
Beiträge: 4
Registriert: 22.07.2005 18:21

Beitrag von krotthowe »

Danke

Gruß Karsten
Benutzeravatar
dopppeldecker
Mitglied
Beiträge: 248
Registriert: 24.10.2004 10:40
Wohnort: Erndtebrück
Kontaktdaten:

Beitrag von dopppeldecker »

Wäre es denn mit viel Umstand verbunden das mit einer Eingabe im ACP zu versehen ? Sprich das man im ACP bestimmt Wörter oder Zeichenfolgen angibt welche bei der Registrierung nicht genutzt werden dürfen.
greetz dopppeldecker
Benutzeravatar
dopppeldecker
Mitglied
Beiträge: 248
Registriert: 24.10.2004 10:40
Wohnort: Erndtebrück
Kontaktdaten:

Beitrag von dopppeldecker »

Wie sähe der Code denn aus wenn man mehrere Badwords angeben will.
greetz dopppeldecker
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Wenn Du PHP5 hast, kannst Du mit str_replace() arbeiten.

In dem Fall baust Du dir ein Array:

Code: Alles auswählen

$badwords = array('wort1', 'wort2');
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:

Code: Alles auswählen

$count = 0;
if ( str_replace($badwords, '', $$check_var, $count) && $count )
Ich denke das müsste ganz gut funktionieren.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“