WordPress verwendet ein recht geschicktes Skript für die Kennwortsicherheit, mit dem angezeigt wird, ob die in WordPress-Administrator eingegebenen Kennwörter wie folgt lauten: nicht identisch, sehr schwach, schwach, mittel oder stark. Derzeit wird dieses Skript nur verwendet, wenn Sie neue Benutzer erstellen und Ihr Kennwort in Ihrem Administrator ändern.
In diesem Artikel werde ich Ihnen zeigen, wie Sie das Passwortstärkemessgerät von WordPress in Ihren eigenen Formularen verwenden.
Das Stärkemessungsskript ist zum Zeitpunkt dieses Artikels nicht dokumentiert. Daher ist die Verwendung des WordPress-Kerns erforderlich. Das eigentliche Skript befindet sich in WordPress unter WP-Admin / Js / Passwort-Stärke-Meter.js
. Sie können es ausprobieren, um mehr über die Funktionsweise des Skripts zu erfahren.
Das erste, was wir tun müssen, ist, dieses Skript einzubinden, indem wir es in unser Skript einreihen Functions.php
:
wp_enqueue_script ('Passwortstärke-Meter');
Das Skript alleine macht nicht alles für uns. Es gibt uns nur diese beiden JavaScript-Funktionen:
wp.passwordStrength.meter (Passwort1, schwarze Liste, Passwort2).
Dies ist die Hauptfunktion, die wir verwenden werden. Es analysiert zwei gegebene Saiten und gibt dann die Stärke dieser zwei als Zahl von 1 bis 5 an, wobei 1 die schwächste und 5 die stärkste ist. Dazu gehört auch ein Array von schwarzen Wörtern, die bei der Berechnung als schwache Wörter betrachtet werden.wp.passwordStrength.userInputBlacklist ().
Diese Funktion erstellt eine Reihe von Wörtern, die in Kennwörtern als schwache Wörter betrachtet werden sollten. Diese Funktion kompiliert Zeichenfolgen, die im Titel, der Zeile und der URL Ihrer Website enthalten sind. Es prüft auch, ob bestimmte Eingabefelder auf der aktuellen Seite vorhanden sind, und fügt diese der Liste hinzu.Mit diesen Funktionen können Sie bereits die Stärke von Passwörtern messen. Es gibt jedoch mehr dazu. Das Skript liefert uns keine Ergebnisse, die wir anzeigen können. Dazu müssen wir eine eigene Funktion aufbauen.
Nehmen wir das an als Ausgangspunkt für die Implementierung der Festigkeitsmesserfunktion:
Wir werden das Feld benutzen Namen
und Ids
von oben in der Funktion, die wir erstellen werden.
Dies sind die Ziele, die wir erreichen wollen, wenn wir fertig sind:
Lassen Sie mich zuerst die fertige jQuery-Funktion zeigen, die wir verwenden werden. Ich werde jeden Teil im Detail erklären:
Funktion checkPasswordStrength ($ pass1, $ pass2, $ strengthResult, $ submitButton, blacklistArray) var pass1 = $ pass1.val (); var pass2 = $ pass2.val (); // Formular zurücksetzen & meter $ submitButton.attr ('disabled', 'disabled'); $ strengthResult.removeClass ('short schlecht gut stark'); // Erweitern Sie unser Blacklist-Array mit denen aus den Eingaben und Standortdaten. BlacklistArray = blacklistArray.concat (wp.passwordStrength.userInputBlacklist ()) // Rufen Sie die Kennwortstärke ab varstärke = wp.passwordStrength.meter (pass1, blacklistArray, pass2); // Füge die Ergebnisse des Stärkemessers hinzu (Stärke) Fall 2: $ strengthResult.addClass ('bad') .html (pwsL10n.bad); brechen; Fall 3: $ strengthResult.addClass ('good') .html (pwsL10n.good); brechen; Fall 4: $ strengthResult.addClass ('strong') .html (pwsL10n.strong); brechen; Fall 5: $ strengthResult.addClass ('short') .html (pwsL10n.mismatch); brechen; default: $ strengthResult.addClass ('short') .html (pwsL10n.short); // Die Zählerfunktion gibt ein Ergebnis zurück, auch wenn pass2 leer ist. // Aktivieren Sie nur die Schaltfläche zum Senden, wenn das Kennwort stark ist und // beide Kennwörter ausgefüllt sind, wenn (4 === Stärke && "! == pass2.trim ()) $ submitButton.removeAttr ('disabled'); return Stärke; jQuery (document) .ready (Funktion ($) // Bindung zum Auslösen von checkPasswordStrength $ ('body') .on ('keyup') 'Eingabe [Name = Passwort1], Eingabe [Name = Passwort2]', Funktion (Ereignis) checkPasswordStrength ($ ('Eingabe [Name = Passwort]'), // Erstes Passwortfeld $ ('Eingabe [Name = Passwort_retyped]' ), // Zweites Kennwortfeld $ ('# Kennwortstärke'), // Stärkemesser $ ('input [type = submit]'), // Schaltfläche "Senden" ['schwarz', 'aufgelistet', 'Wort'] // Wörter auf der schwarzen Liste);););
Ich habe dafür gesorgt, dass die Funktion alle Objekte übernimmt, von denen wir Änderungen vornehmen oder Informationen benötigen. Ich habe allen jQuery-Objekten ein vorangestelltes $
um es einfacher zu machen, sie anhand der normalen JavaScript-Objekte zu identifizieren.
var pass1 = $ pass1.val (); var pass2 = $ pass2.val (); // Formular zurücksetzen & meter $ submitButton.attr ('disabled', 'disabled'); $ strengthResult.removeClass ('short schlecht gut stark');
Diese ersten Zeilen sind klar und einfach, wir erhalten die Passwörter und setzen dann unser Formular zurück. Wir machen das Formular am Anfang immer deaktiviert, so dass wir es später aktivieren können, nachdem wir eine gute Stärke erzielt haben.
Wir werden auch Stile zu unserem Stärkemessgerät hinzufügen, indem wir ihm später Klassennamen geben, abhängig von der Punktzahl des Passworts. Zum Start der Funktion löschen wir den Stil des Zählers.
// Erweitern Sie unser Blacklist-Array mit denen aus den Eingaben und Standortdaten. BlacklistArray = blacklistArray.concat (wp.passwordStrength.userInputBlacklist ());
Die auf der schwarzen Liste befindlichen Wörter des Stärkemessers sollten normalerweise in Ordnung sein. Wenn Sie jedoch mehr hinzufügen möchten, akzeptiert unsere Funktion zusätzliche Wörter. Beide werden hier zusammengeführt, um in das eingegeben zu werden Meter
Funktion.
Meter
Funktion// Abrufen der Kennwortstärke var stärke = wp.passwordStrength.meter (pass1, blacklistArray, pass2);
Jetzt nennen wir das Meter
Funktion, um die Stärke des Passworts zu ermitteln. Als Nächstes entscheiden wir, was mit dem Ergebnis geschehen soll.
// Füge die Ergebnisse des Stärkemessers hinzu (Stärke) Fall 2: $ strengthResult.addClass ('bad') .html (pwsL10n.bad); brechen; Fall 3: $ strengthResult.addClass ('good') .html (pwsL10n.good); brechen; Fall 4: $ strengthResult.addClass ('strong') .html (pwsL10n.strong); brechen; Fall 5: $ strengthResult.addClass ('short') .html (pwsL10n.mismatch); brechen; default: $ strengthResult.addClass ('short') .html (pwsL10n.short);
Nun, da wir die Festigkeitsbewertung haben, ist dies der Teil, wo wir ihn anzeigen. WordPress gibt uns das JavaScript-Objekt pwsL10n
das hält die Labels für jeden Stärkewert. Wir zeigen das Etikett im Direkt unterhalb der Kennwortfelder weisen wir der Beschriftung auch die entsprechende Stilklasse zu.
// Die Zählerfunktion gibt ein Ergebnis zurück, auch wenn pass2 leer ist. // Aktivieren Sie nur die Schaltfläche zum Senden, wenn das Kennwort stark ist und // beide Kennwörter ausgefüllt sind, wenn (4 === Stärke && "! == pass2.trim ( )) $ submitButton.removeAttr ('disabled');
Das Ende der Funktion dient zum Aktivieren der Schaltfläche "Senden" nur wenn wir ein sicheres Passwort haben.
jQuery (document) .ready (Funktion ($) $ ('body') .on ('keyup', 'eingabe [name = Kennwort1], Eingabe [Name = Kennwort2]', Funktion (Ereignis) checkPasswordStrength ($ ( 'input [name = password]'), // Erstes Passwortfeld $ ('input [name = password_retyped]'), // Zweites Passwortfeld $ ('# password-strength'), // Stärkemessgerät $ ('input [type = submit] '), // Schaltfläche "Senden" [' schwarz ',' aufgeführt '', 'Wort'] // schwarze Wörter);););
Schließlich brauchen wir einen Weg, um auszulösen, wann unser Passwortstärkemessgerät ausgeführt wird. Wir tun dies, indem wir einen Handler an den binden keyup
Ereignisse in die Kennwortfelder.
Wir sind fertig!
Die Etiketten für das Stärkemessgerät werden von WordPress unter das Objekt geladen pwsL10n
.
Um diese Bezeichnungen zu ändern und zu überschreiben, müssten Sie das Skript lokalisieren nach dem unsere wp_enqueue_script
im Functions.php
:
wp_localize_script ('Passwortstärke-Meter', 'pwsL10n', Array ('empty' => __ ('Festigkeitsanzeige'), 'short' => __ ('Sehr schwach')), 'bad' => __ (' Schwach '),' gut '=> _x (' Mittel ',' Passwortstärke '),' stark '=> __ (' Stark '),' Mismatch '=> __ (' Mismatch '))));Weitere Informationen zum Übergeben von lokalisierten Zeichenfolgen an JavaScript finden Sie im Artikel: So übergeben Sie PHP-Daten und Zeichenfolgen an JavaScript
In diesem Artikel haben wir gelernt, wie Sie das in WordPress enthaltene Kennwortsicherheits-Skript verwenden. Dies kann in Ihren benutzerdefinierten Registrierungsformularen und Front-End-Profilseiten für Ihre Website-Mitglieder verwendet werden.
Ich hoffe, Ihnen hat dieser Artikel gefallen. Ich freue mich über jedes Feedback, Kommentare und Vorschläge.
Lassen Sie mich wissen, wenn Sie einen coolen Weg gefunden haben, den Passwortstärkemesser zu verwenden. Teilen Sie unten Ihre Gedanken mit!