Seite 1 von 1

Passwort: nur bestimmte Sonderzeichen erlauben

Verfasst: 15.02.2019 16:51
von Gumfuzi
Hallo Leute,

ich möchte gerne nur bestimmte Sonderzeichen als Passwort zulassen, da ich das Passwort als Hash in einem weiteren System der Seite verwenden möchte, das leider nicht alle Sonderzeichen, welche das phpBB für gültig hält, akzeptiert.

Jede Änderung im Core-Code kann und wird früher oder später rumzicken bei künftigen Updates, daher wäre eine Extension ideal, wo man ie erlaubten Sonderzeichen beim Passwort festlegen kann - habe leider keine gefunden. Auch konnte ich keinen "Hook" finden, der beim Passwort ansetzt, was auch Absicht sein kann wg. der Sicherheit.


Ich könnte natürlich im Template etwas einfügen wie:
https://www.w3schools.com/code/tryit.as ... 8IXO1IZI6R

Aber es muss doch wo ein Pattern geben, wo die erlaubten Zeichen definiert sind, dann könnte man das dort ev. auch "einstellen".

Oder gibt es eine bessere Lösung dafür?

Danke für eure Tipps!

*edit*
in der /includes/function.php gibt es diese Funktion:

Code: Alles auswählen

function gen_rand_string_friendly($num_chars = 8)
{
	$range = array_merge(range('A', 'N'), range('P', 'Z'), range(1, 9));
	$size = count($range);

	$output = '';
	for ($i = 0; $i < $num_chars; $i++)
	{
		$rand = random_int(0, $size-1);
		$output .= $range[$rand];
	}

	return $output;
}
diese wird beim Zusenden eines neuen PW verwendet, dort werden A-N, P-Z und 1-9 verwendet.

Da ich beim Passwort bei der Registrierung vermutlich nicht alle Zeichen verwenden kann, muss es ja so ein array-merge beim registrieren geben, wo phpBB das abgleicht...

*edit2*
hmmm, scheinbar akzeptiert phpBB jegliche Sonderzeichen...

...was ja dann wieder gut ist, da ich dann nur im Template die Eingabe des PW auf die gültigen Zeichen beschränken muss (siehe Link ganz oben).

Re: Passwort: nur bestimmte Sonderzeichen erlauben

Verfasst: 15.02.2019 20:31
von Dr.Death
Schau mal im

ACP
Allgemein
Registrierung
Passwort-Komplexität:

nach.

Vielleicht kannst Du Dein RegEx in die includes/function_user.php einklinken:

function validate_password($password)

Da gibt es die vorgegebenen RegEx Variablen:

Code: Alles auswählen

	$upp = '\p{Lu}';
	$low = '\p{Ll}';
	$num = '\p{N}';
	$sym = '[^\p{Lu}\p{Ll}\p{N}]';

Re: Passwort: nur bestimmte Sonderzeichen erlauben

Verfasst: 16.02.2019 09:15
von Gumfuzi
super, danke!