Bei der Registrierung werden viele Websites die Verwendung von Symbolen in Kennwörtern verweigern. Dies führt mich aus der Sicht der Benutzerfreundlichkeit an die Wand, da ich mehrere Symbole in alle meine Passwörter einfüge, und als Programmierer, der sich von Zeit zu Zeit mit der Webauthentifizierung beschäftigt, kann ich nicht herausfinden, warum das nicht erlaubt wäre. Fehle ich etwas? Sorgen sie sich um SQL-Injektion? Willst du nicht mit fliehenden Charakteren umgehen? Oder gibt es etwas mit Nicht-Latein-Alphabet-Zeichen, die Dinge vermasseln können?
Ähnliche Frage, über Seiten, die die Länge beschränken hier .
Sie sind nicht in den USA: In Europa haben Sie alle paar Kilometer eine andere Tastatur. Viel Glück, dass Sie Ihren speziellen Charakter auf einer italienischen Tastatur finden. Oder ein griechischer. Oder Türkisch.
Die einzigen Schlüssel, die wahrscheinlich da sind, sind die alphanumerischen Tasten, und die meisten Leute werden sich zurechtfinden, selbst wenn ein paar Tasten vertauscht werden (zum Beispiel Y und Z).
Schließlich sind die Leute notorisch schlecht darin, sich Passwörter zu merken. Wenn man sie dazu zwingt, "honey" statt "jh (/ & amp; DFA93475" zu verwenden, reduziert sich die Aufrufrate für die Unterstützung erheblich ("Ich kann mich nicht an mein Passwort erinnern ...")
Wenn es sich um eine Web-App handelt, konnten die Entwickler nicht wirklich sicherstellen, dass die Umlaute die Übertragung vom Formular zum Backend überstehen. Es wäre großartig, wenn alle Browser einfach UTF-8 senden würden, aber die meisten Backends können UTF-8 auch ohne eine sorgfältige Abstimmung nicht verarbeiten.
Unser System musste einmal mit Hardware von Drittanbietern zusammenarbeiten, die über einen Touchscreen bedient wurde. Ihre auf dem Bildschirm errr .... 'Tastatur', hatte sicherlich keine nicht-alphanumerischen Zeichen, daher - wir hatten sehr ernsthafte Probleme mit Passwörtern - Kunden mussten sie ändern.
Ich kann nicht sagen, ob das für viele Websites zutrifft, aber in vielen antiquierten Netzwerkumgebungen, die Radius oder eine andere Form der zentralisierten Authentifizierung verwenden, müssen Sie oft Ihre Passwörter auf den kleinsten gemeinsamen Nenner für alle unterschiedlichen Systeme beschränken dass Sie unterstützen. Wenn Sie also die Kennwortauthentifizierung für eine schlecht geschriebene Legacy-Anwendung unterstützen, die Probleme mit nicht-ASCII-Zeichen hat und diese Server auf dem zentralen Authentifizierungsserver piggybacks, müssen Sie alle anderen Server auf die gleichen Kennworteinschränkungen beschränken.
Die Anwendungen könnten in der Vergangenheit Probleme mit der SQL-Einspeisung gehabt haben, und übereifrige Programmierer haben einfach alle nicht so einfach deaktiviert, anstatt die grundlegenden Fehler in ihrem Design zu beheben.
Die Entwickler möchten möglicherweise Probleme mit der Eingabe von Binärdaten in den Passwortspeicher minimieren und sind eifrig bei der Datenvalidierung. Ehrlich gesagt, denke ich, dass dies das wahrscheinlichste Szenario ist. Die Programmierer haben vielleicht bereits einen reinen ASCII-Ansatz für Benutzernamen gewählt und haben dieselbe Denkweise auf Passwörter ausgeweitet.
Ein möglicher Grund: Die Benutzeroberfläche der Website wurde von einem Marketingtyp oder einem nicht technischen Produktmanager entworfen. Jemand, der die Kombinatorik nicht versteht und denkt, dass er seinen Entwicklern konkrete Anforderungen stellt, indem er vorschreibt, dass das Passwortfeld genau 8 alphanumerische Zeichen enthalten muss.
Es ist möglich, dass das gleiche Passwort über die Telefontastatur eingegeben werden muss (1 = 1, A, B oder C).
Wenn Sie feststellen, dass dies fürchterlich unsicher ist, würde eine Möglichkeit, die Sicherheit zu erhöhen, darin bestehen, den Account nach X-Versuchen zu sperren. Oft sind Bank-Websites nur ein Front-End für eine schrecklich alte Mainframe-Anwendung und können die Passwortrichtlinien nicht ändern.
Der Grund, warum sie alphanumerisch sind, ist normalerweise ein Versuch, die SQL-Injektion zu verhindern, wenn Passwörter eingegeben werden. Zum Beispiel:
Auf einigen Websites können Sie tatsächlich eingeben: U: Administrator P: 'oder' t '=' t
Normalerweise kommen Programmierer durch Programmierpraktiken wie parametrisiertes SQL durch, aber ich wette, dass sie das tun, weil sie es tun.
es ist ein Zeh knirschen, Zähneknirschen Problem vor allem, wenn Banken es tun; Ich denke jedoch, einige der Probleme sind mit dem ";" und '' '' Zeichen.
Früher vermuteten einige Programmierer, indem sie alphanumerische Zeichen erzwangen, dass ihre Passwörter leicht vergessen werden könnten.