Passwort länge abfragen Login/Register

slipknoter6

Mitglied
Hallo
Ich wolllte bei meinen Registrierungsformular abfragen ob das Passwort gewisse vorrausetzungen erfüllt.

Bei mir klappt es nicht so ganz.

Ich lasse ja das Formular bei Submit diese funktion

PHP:
 function chkFormular () {
		  if (document.Formular.user.value == "") {
			alert("Bitte Ihren Namen eingeben!");
			document.Formular.user.focus();
			return false;
		  }
.....

und ich will halt über diese funktion schon prüfen ob das passwort alles erfüllt. Nur es klappt nicht so ganz

Ich habe bis jetzt so

PHP:
if(!preg_match('/^[a-zA-Z0-9äüöÄÜÖ]{6,}$/', document.Formular.password.value))
			{
			 	alert("Passwort muss min. 6Zeichen haben.\n Darf nur ... ");
				document.Formular.password.focus();
				return false;
			}

bestimmt ganz falsch.


Ich will ,dass das Passwort min. 6Zeichen lang ist. Und nur aus Klein- und Groß- buchstaben, Zahlen, umlaute und Sonderzeichen besteht. Sie sollen aber keine Pflicht sein.


Kann mir da einer helfen wie ich das mache?

mfg
slipknoter6
 
Hallo.

Du unterliegst einen großen Missverständnis und mischst wild JavaScript und PHP zusammen. PHP wird server-seitig ausgeführt, also auf dem Webserver, JavaScript dagegen im Browser.

Du kannst in PHP die Variablen des Formulars abfragen, das geht über $_GET bzw. $_POST.

Versuch mal das hier:

PHP:
            if(!preg_match('/^[a-zA-Z0-9äüöÄÜÖ]{6,}$/', $_POST['passwort'])) // wenn dein Feld im Formular "passwort" heißt
            {
                echo "Das Passwort ist nicht sicher genug (min. 6 Zeichen, Sonderzeichen, Zahlen)";
                return false;
            }
 
hmm ich weiß nicht obs garde funktioniert aber. Da muss ich ja erst das Formular abschicken. Und das will ich nicht also muss ich das mit Javascript machen. Nur wie ich habe grade nicht wirklich eine ahnung wie ichs umsetzten soll
 
Wenn es rein browserseitig passieren soll (sprich, eine simple Erstkontrolle vor dem Absenden), dann machst Du das primär über javascript. Ein OnChange (unten Link lesen!)-Event auf dem Formularfeld wäre sinnvoll. Sobald sich etwas im Feld ändert, soll eine Funktion gestartet werden. Diese Funktion überprüft den Inhalt und gibt die passende Info raus. Sinnvoll wäre auch das Blockieren des Absenden-Buttons, solange Deine Voraussetzungen nicht erfüllt sind.

http://stackoverflow.com/questions/574941/best-way-to-track-onchange-as-you-type-in-input-type-text

Alternativ dazu gäbe es noch die Javascript/ajax-Variante, um das Passwort serverseitig zu überprüfen und die passende Info zurückzugeben.

http://www.tutorials.de/php/383278-php-passwort-erstellung.html
http://www.tutorials.de/coders-talk/345970-passwortstaerke-ermitteln.html

mfg chmee
 
Jetzt mal unter uns: Du musst nach dem Abschicken des Forms ohnehin die gleichen Prüfungen einbauen, sonst hättest du ja eine Sicherheitslücke. Also kannst du es gleich server-seitig und damit in PHP lösen.
 
Die onTheFly-Lösung ist doch immer nur für die Usability gedacht. Und tatsächlich würde ich aus Sicherheitsgründen nachher (php) eine andere/stärkere Prüfung folgen lassen. Ob nun Injection, Zeitverzögerung oder Eingabesperre nach x erfolglosen Versuchen..
 

Neue Beiträge

Zurück