PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : EF-Kennwort mit Leerzeichen/Umlauten/Sonderzeichen



rkaerner
23.07.2012, 00:29
Hallo, meine Lieben!

Nach längerer Abstinenz habe ich mich mal mit der aktuellen VMS 1.2.4 versorgt, die auch schön installiert und bin dann bei dem Versuch, einen User zu registrieren, voll vor die Wand gefahren.

Nunja, das Forum hält viele tolle Ideen bereit, wenn es bei der Registrierung mit "Unbekannter Fehler" scheitert.

Und ich habe sie alle ausprobiert, ich habe alles kontrolliert und stellte fest: es ist tatsächlich alles so, wie es sein soll. Ich war begeistert. Darüber, dass ich alles richtig gemacht hatte. Ich war nicht begeistert, weil ich den Fehler nach wie vor hatte.

Aber der alte Mann ist ja ein pfiffiges Kerlchen. Denkt er zumindest.
Also flugs mal das EF-Kennwort verändert und schon funktionierte es auch mit der Registrierung.

Da ich nun nicht vor habe, die ganze Nacht zu testen, an welchen von beiden Möglichkeiten es nun liegt, dass es mit dem alten Kennwort nicht klappt, hier mal die 3 Möglichkeiten, die in Frage kommen:

Mein Kennwort ist zu lang (es hatte 27 Zeichen)
Mein Kennwort enthält Leerzeichen (auch das sind Zeichen)
Mein Kennwort enthält Umlaute und/oder Sonderzeichen

Eins von diesen 3 Dingen trifft wohl zu. Mein neues Kennwort (das ich natürlich gleich wieder ändere, denn es ist mir zu kurz (14 Zeichen), enthält zu wenig Umlaute/Sonderzeichen (0) und zu wenig Leerzeichen (0).

Ich stufe das also als Bug ein und bin offen für Updates. Ich bin genauso offen für leichte Schläge auf den Hinterkopf, wenn ich in der spärlichen Doku irgendwas überlesen haben sollte und der Fehler vor meiner Tastatur sitzt. ;)

Ralph

jpwfour
23.07.2012, 13:41
...
Mein Kennwort ist zu lang (es hatte 27 Zeichen)
Mein Kennwort enthält Leerzeichen (auch das sind Zeichen)
Mein Kennwort enthält Umlaute und/oder Sonderzeichen
...


CREATE TABLE IF NOT EXISTS `vms_schnittstelle` (
...
`betreiber_passwort` varchar(50) NOT NULL default '',
...
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Sollten also bis zu 50 Zeichen möglich sein. Da latin1 und nicht utf8, könnte es zu Problemen bei einer falschen Eingabekodierung kommen, aber eher unwahrscheinlich, da die meisten über eine Tastatur mit deutschem Layout ohne Verrenkungen einzugebenden Zeichen abgedeckt sein sollten.

Allerdings fehlt afaik ein

urlencode($betreiber_pw);
in der Schnittstelle, also mal dort nachtragen (oder im Adminforce/betreiberdaten.php, damit es gleich urlencode()'d in die Datenbank eingetragen wird) und dann mit dem 27 Stellen Leerzeichen und Sonderzeichen Passwort testen.

rkaerner
23.07.2012, 16:46
Allerdings fehlt afaik ein

urlencode($betreiber_pw);in der Schnittstelle, also mal dort nachtragen (oder im Adminforce/betreiberdaten.php, damit es gleich urlencode()'d in die Datenbank eingetragen wird) und dann mit dem 27 Stellen Leerzeichen und Sonderzeichen Passwort testen.
Das hat offensichtlich gewirkt. Ich habe zwar nicht erneut eine registrierung versucht, aber da eine Einzahlung seitens des Users von der Seite aus funktioniert und auch dafür das Betreiberpasswort gebraucht wird, war das der richtig Ansatz.

Ich habe allerdings im adminforce/content/interfacdaten/betreiber.php dann gleich noch eine weitere Änderung vorgenommen:


<td align="left">Betreiberpasswort</td><td align="left"><input type="Text" name="betreiber_passwort" value="<?=urldecode($interface['betreiber_passwort']);?>" style="width:180px;"></td>
Sonst kriegt der eine oder andere plötzlich Panikattacken, weil das Kennwort encoded da rumsteht und nich tmehr so, wie man das mal eingetragen hatte.

Vielen Dank für die schnelle Antwort

Ralph