Erstellen preg_match für die Passwort-Validierung ermöglichen (!@#$%)

Ich würde gern ein preg_match Funktion zu bestätigen auf die vergessenen Kennwörtern, aber ich bin mir nicht sicher, wie Sie Sie schreiben es so, dass die folgenden Sonderzeichen verwendet werden: !@#$%.

if(!preg_match(?????)$/', $password))

Hier sind meine Passwort-Regeln, dass ich arbeiten will, in der regex:

  • Enthalten können Buchstaben und zahlen
  • Muss mindestens 1 Zahl und 1 Buchstaben
  • Kann eines dieser Zeichen enthalten: !@#$%
  • Muss 8-12 Zeichen

Danke für jede Hilfe, die Sie anbieten können.

  • bitte beachten Sie dass Sie längere Passwörter, die ich lieber meine 20 + Zeichen lang sein, und es wird nicht weh tun Sie dies zulassen. Ich verstehe nicht, Webseiten, die eine Länge - Sie lagern Hash-wo ist also das problem?
  • Ich habe erhöht die max 50 Zeichen. Es ist eine einfache Website, und ich denke, ich dachte nur 8-12 Zeichen wäre für die Menschen leichter zu merken und weniger wahrscheinlich zu müssen, um Ihr Passwort zurückzusetzen. Aber wie du schon gesagt hast, mit dem Passwort verschlüsselt ist, ist es wirklich nicht, dass große Sache.
  • ich lasse lastpass an alle meine Passwörter für mich 🙂
  • 8-12 ist immer noch kurz genug, um brute-force Recht einfach wenn. Während Sie arbeiten gut gegen kausale knacken versucht, 90% der 16-Zeichen-Passwörter geknackt werden kann in in unter einer Stunde mit modernen hybrid-brute-force-Techniken (die sind noch einfacher, wenn Sie wissen, die max Passwort Länge und Charakter, Umfang); also schlage ich vor, eine Obergrenze von 32 bis 64 Zeichen und möglicherweise die Einbeziehung der 2-Faktor-Authentifizierung, vor allem, wenn dies bedeutete, zu schützen, jede Art von besonders sensiblen Daten (PPI, PCI, HIPPA, etc).
InformationsquelleAutor Mark Rummel | 2012-08-08
Schreibe einen Kommentar