Aktueller Standort: Startseite> Neueste Artikel> Komplettes Tutorial zur Implementierung von Google Authenticator-Zwei-Faktor-Überprüfung in PHP

Komplettes Tutorial zur Implementierung von Google Authenticator-Zwei-Faktor-Überprüfung in PHP

gitbox 2025-06-27

Was ist Google Authenticator?

Google Authenticator ist ein von Google gestarteter Zwei-Faktor-Authentifizierungs-Tool, das eine zusätzliche Sicherheitsebene für Konten bietet, indem ON-Time-Verifizierungscodes (OTP) generiert werden. Bei der Anmeldung müssen Benutzer nicht nur ihren Benutzernamen und ihr Kennwort eingeben, sondern auch einen dynamischen Verifizierungscode eingeben, der von mobilen Geräten generiert wird, wodurch das Risiko eines Kontoniebstahls effektiv verringert wird.

In diesem zeitbasierten einmaligen Kennwort (TOTP) werden der Verifizierungscode in einem festen Zeitintervall automatisch aktualisiert, sodass es den Angreifern schwierig macht, wiederzuverwenden, wenn sie den Verifizierungscode stehlen.

So integrieren Sie Google Authenticator in PHP

Um Google Authenticator-basierte Authentifizierungsfunktion in PHP zu implementieren, müssen Sie sich auf die entsprechende Bibliothek von Drittanbietern verlassen. Im Folgenden finden Sie die spezifischen Implementierungsschritte:

Installieren Sie die Google Authenticator -Bibliothek

Installieren Sie zunächst die Google Authenticator-bezogenen Abhängigkeiten über den Komponisten. Fügen Sie den folgenden Inhalten zur Composer.json -Datei des Projekts hinzu und führen Sie den Installationsbefehl aus:

 
"require": {
    "google/authenticator": "^1.0"
}

Nach Abschluss der Installation kann die Bibliothek zur Verwendung in den Code eingeführt werden.

Benutzerschlüssel generieren

Das Generieren eines eindeutigen Schlüssels für jeden Benutzer ist der Schlüssel zur Erreichung der Zwei-Faktor-Authentifizierung. Die Methoden in der Bibliothek können wie folgt verwendet werden:

 
use Google\Authenticator\GoogleAuthenticator;

$ga = new GoogleAuthenticator();
$secret = $ga->generateSecret();

Der obige Code erstellt einen Sicherheitsschlüssel über die Methode für GenerateEcret () , mit der in Zukunft einmalige Überprüfungscodes generiert und verifiziert werden.

Generieren Sie den QR -Code für die Bindung

Um den Benutzern die Bindung ihrer Schlüssel an ihre Mobiltelefone zu ermöglichen, kann ein QR -Code -Link generiert werden, und Benutzer können die Bindung über Google Authenticator scannen:

 
$qrCodeUrl = $ga->getQRCodeUrl('My Website', $secret);

Die generierte URL kann im Tool zur Erzeugung von QR -Code verwendet werden, das auf einer Webseite angezeigt wird, mit der Benutzer den zu binden Code scannen können. Der erste Parameter ist der Anwendungsname und der zweite Parameter ist der Benutzerschlüssel.

Überprüfen Sie den vom Benutzer eingegebenen Überprüfcode

Wenn ein Benutzer sensible Vorgänge anmeldet oder sensible Vorgänge ausführt, müssen Sie überprüfen, ob der von ihm eingegebene Überprüfungscode gültig ist:

 
$isValid = $ga->checkCode($secret, $userInputCode);
if ($isValid) {
    // Überprüfung ist erfolgreich,Zugriff zulassen
} else {
    // Überprüfung fehlgeschlagen,Zugriff verweigert
}

Geben Sie einfach den Benutzerschlüssel und den eingegebenen Verifizierungscode in die Methode checkCode () übergeben, um die Überprüfung abzuschließen. Rückgabe true Wenn die Überprüfung bestanden wird, geben Sie ansonsten false zurück.

Zusammenfassen

Der integrierte Google Authenticator bietet einen effektiven Zwei-Faktor-Authentifizierungsmechanismus für PHP-Anwendungen. Durch das Generieren eines eindeutigen Schlüssels für Benutzer, Anzeigen von QR -Codebindung und Überprüfung der dynamischen Überprüfungscodes kann die Sicherheit des Kontos erheblich verbessert werden. Diese Methode ist einfach und zuverlässig und für verschiedene PHP -Projekte geeignet, für die eine verbesserte Anmeldessicherheit erforderlich ist.