Two Factor

Beschreibung

Das Plugin Two Factor fügt deiner WordPress-Anmeldung eine zusätzliche Sicherheitsschicht hinzu, indem es vom Benutzer zusätzlich zum Passwort eine weitere Form der Authentifizierung verlangt. Das schützt vor unberechtigten Zugriffen sogar dann, wenn Passwörter kompromittiert wurden.

Einrichtungs-Anleitungen

Important: Each user must individually configure their two-factor authentication settings.

Für individuelle Benutzer

  1. Zu deinem Profil navigieren: Gehe im WordPress-Admin zu „Benutzer“ „Profil“
  2. Two-Factor-Optionen finden: Scrolle runter bis zum Abschnitt „Two-Factor-Optionen“
  3. Choose your methods: Enable one or more authentication providers (noting a site admin may have hidden one or more so what is available could vary):
    • Authenticator App (TOTP) – Nutze Apps wie Google Authenticator, Authy oder 1Password
    • Email Codes – Erhalte Einmal-Codes via E-Mail
    • Backup-Codes – Erzeuge Einmal-Backup-Codes für Notfälle
    • Dummy-Methode – nur zu Testzwecken (erfordert WP_DEBUG)
  4. Jede Methode konfigurieren: Folge den Einrichtungs-Anleitungen für jeden aktivierten Anbieter
  5. Primäre Methode wählen: Wähle, welche Methode du als Standard-Authentifizierung verwenden möchtest
  6. Änderungen speichern: Klicke auf „Profil aktualisieren“, um deine Einstellungen zu speichern

Für Website-Administratoren

  • Plugin settings: The plugin provides a settings page under „Settings Two-Factor“ to configure which providers should be disabled site-wide.
  • Benutzerverwaltung: Administratoren können 2FA für andere Benutzer konfigurieren, indem die deren Profile bearbeiten
  • Sicherheits-Empfehlungen: Benutzer sollten Backup-Methoden einrichten, damit sie nicht aus ihrem Konto ausgesperrt werden

Verfügbare Authentifizierungs-Methoden

Authenticator-App (TOTP) – empfohlen

  • Sicherheit: Hoch – Zeitbasierte Einmalpasswörter
  • Einrichtung: QR-Code mit Authenticator-App scannen
  • Kompatibilität: Funktioniert mit Google Authenticator, Authy, 1Password und anderen TOTP-Apps
  • Am besten für: die meisten Benutzer, bietet exzellente Sicherheit und gute Benutzerfreundlichkeit

Backup-Codes – empfohlen

  • Sicherheit: Mittel – Codes einmal nutzbar
  • Einrichtung: 10 Backup-Codes für den Notfall-Zugriff erzeugen
  • Kompatibilität: Funktioniert überall, keine spezielle Hardware erforderlich
  • Am besten für: Notfall-Zugriff, wenn andere Verfahren nicht verfügbar sind

E-Mail-Codes

  • Sicherheit: Mittel – Einmal-Codes werden via E-Mail verschickt
  • Einrichtung: Automatisch – verwendet deine WordPress-E-Mail-Adresse
  • Kompatibilität: Funktioniert mit jedem E-Mail-fähigen Gerät
  • Am besten für: Benutzer, die E-Mail-basierte Authentifizierung bevorzugen

FIDO-U2F-Sicherheitsschlüssel

  • Deprecated and removed due to loss of browser support.

Dummy-Methode

  • Sicherheit: Keine – immer erfolgreich
  • Einrichtung: nur verfügbar, wenn WP_DEBUG aktiviert ist
  • Zweck: nur Testen und Entwicklung
  • Am besten für: Entwickler, die das Plugin testen

Wichtige Hinweis

HTTPS-Anforderung

  • Andere Methoden funktionieren auf sowohl HTTP- als auch HTTPS-Websites

Browser-Kompatibilität

  • TOTP und E-Mail-Methoden funktionieren mit allen Geräten und Browsern

Kontowiederherstellung

  • Aktiviere immer Backup-Codes, damit du nicht aus deinem Konto ausgesperrt wirst
  • Wenn du Zugriff auf alle Authentifizierungs-Methoden verlierst, wende dich an den Administrator deiner Website

Bewährte Sicherheitspraktiken

  • Verwende möglichst mehrere Authentifizierungs-Methoden
  • Verwahre Backup-Codes an einem sicheren Ort
  • Prüfe und aktualisiere deine Authentifizierungseinstellungen regelmäßig

Für weitere Information zur Zwei-Faktor-Authentifizierung schau dir den WordPress Advanced Administration Security Guide an.

Weitergehende Informationen finden sich in diesem Beitrag.

Actions und Filter

Nachfolgend findet sich hier eine Auflistung von Action- und Filter-Hooks, die das Plugin anbietet:

  • Der two_factor_providers-Filter hat Vorrang gegenüber anderen vorhandenen Zwei-Faktor-Authentifizierungs-Methoden wie E-Mail und zeitbasierten Einmal-Passwörtern. Array-Werte können PHP-Klassennamen der jeweiligen Zwei-Faktor-Methoden sein.
  • Der Filter two_factor_providers_for_user setzt die verfügbaren Zwei-Faktor-Anbieter für einen bestimmten Benutzer zurück. Array-Werte sind Instanzen von Anbieterklassen und das Benutzerobjekt WP_User ist als zweites Argument verfügbar.
  • Der two_factor_enabled_providers_for_user-Filter überschreibt die Authentifizierungsmethoden, die für einen Benutzer aktiviert sind. Das erste Argument ist ein Array der Klassennamen erlaubter Authentifizierungsmethoden, während das zweite Argument die Nutzer-ID ist.
  • Die two_factor_user_authenticated-Aktion empfängt das eingeloggte WP_User-Objekt als erstes Argument, um den angemeldeten Benutzer direkt nach dem Authentifizierung-Workflow zu ermitteln.
  • Der Filter two_factor_user_api_login_enable beschränkt die Authentifizierung für REST-API und XML-RPC nur auf Anwendungskennwörter. Gibt die Benutzer-ID als zweites Argument an.
  • Der Filter two_factor_token_ttl überschreibt die Zeitangabe in Sekunden, in der ein E-Mai-Token nach Erzeugung gültig ist. Akzeptiert die Zeit (in Sekunden) und die ID des WP_User-Objekts, das authentifiziert wird.
  • Der Filter two_factor_email_token_length überschreibt die 8-Zeichen-Vorgabe für E-Mail-Tokens.
  • Der Filter two_factor_backup_code_length überschreibt die 8-Zeichen-Vorgabe für Backup-Codes. Liefert den WP_User des verknüpften Benutzers als zweites Argument.
  • Der Filter two_factor_rest_api_can_edit_user überschreibt, ob sich die Zwei-Faktor-Einstellungen eines Benutzers über die REST-API bearbeiten lassen. Das erste Argument ist das aktuelle Boolesche $can_edit, das zweite Argument ist die Benutzer-ID.
  • Die Aktion two_factor_before_authentication_prompt empfängt das Provider-Objekt und wird vor der Eingabeaufforderung im Authentifizierungsformular ausgelöst.
  • Die Aktion two_factor_after_authentication_prompt empfängt das Provider-Objekt und wird nach der im Authentifizierungs-Eingabeformular angezeigten Eingabeaufforderung ausgelöst.
  • Die Aktion two_factor_after_authentication_input empfängt das Provider-Objekt und wird nach der Eingabe im Authentifizierungsformular ausgelöst (wenn das Formular keine Eingabe enthält, wird die Aktion unmittelbar nach der Aktion two_factor_after_authentication_prompt ausgelöst).
  • two_factor_login_backup_links filters the backup links displayed on the two-factor login form.

Redirect After the Two-Factor Challenge

To redirect users to a specific URL after completing the two-factor challenge, use WordPress Core built-in login_redirect filter. The filter works the same way as in a standard WordPress login flow:

add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
    return home_url( '/dashboard/' );
}, 10, 3 );

Screenshots

  • Zwei-Faktor-Optionen im Benutzerprofil – zeigt den zentralen Konfigurationsbereich, wo Benutzer verschiedene Authentifizierungs-Methoden aktivieren können.
  • E-Mail-Code-Authentifizierung während der WordPress-Anmeldung – zeigt den Bildschirm für die E-Mail-Überprüfung während der Anmeldung.
  • Authenticator-App-Einrichtung (TOTP) mit QR-Code – demonstriert das Erzeugen des QR-Codes und das manuelle Eingeben des Schlüssels für die TOTP-Einrichtung.
  • Erzeugung und Verwaltung von Backup-Codes – zeigt die Oberfläche zum Erzeugen und Verwalten von Notfall-Zugriffs-Codes.

FAQ

Welche PHP- und WordPress-Versionen unterstützt das Two-Factor-Plugin?

Dieses Plugin funktioniert mit den letzten beiden Hauptversionen von WordPress und der Mindestversion von PHP, die von diesen WordPress-Versionen unterstützt wird.

Wie kann ich Rückmeldung geben oder Hilfe bei einem Fehler erhalten?

Der beste Ort, um Fehler zu melden, neue Funktionen vorzuschlagen oder für sonstige Rückmeldungen ist die Two-Factor-Problemseite bei GitHub. Bevor du ein neues Problem meldest, durchsuche bitte die bisherigen Themen danach, ob nicht jemand anderes bereits das gleiche Feedback hinterlassen hat.

Wo kann ich Sicherheitslücken melden?

Die Plugin-Mitwirkenden und die WordPress-Community nehmen Sicherheitslücken ernst. Wir schätzen deine Bemühungen, deine Entdeckungen verantwortungsvoll zu veröffentlichen und werden uns bemühen, deine Beiträge zu würdigen.

Um ein Sicherheitsproblem zu melden, besuche bitte das WordPress-HackerOne-Programm.

Was, wenn ich den Zugriff auf all meine Authentifizierungsmethoden verliere?

Wenn du Backup-Codes aktiviert hast, kannst du einen davon verwenden, um wieder Zugriff zu erhalten. Wenn du keine Backup-Codes hast oder alle aufgebraucht sind, musst du den Administrator deiner Website kontaktieren, um dein Konto zurückzusetzen. Deswegen ist es wichtig, Backup-Code stets zu aktivieren und die Codes an einem sicheren Ort aufzubewahren.

Kann ich dieses Plugin mit WebAuthn benutzen?

The plugin previously supported FIDO U2F, which was a predecessor to WebAuthn. There is an open issue to add WebAuthn support here: https://github.com/WordPress/two-factor/pull/427

Gibt es eine empfohlene Methode, um Passkeys oder Hardware-Sicherheitsschlüssel mit Two Factor zu verwenden?

Ja. Für Passkeys und Hardware-Sicherheitsschlüssel kannst du den Zwei-Faktor-Anbieter WebAuthn Plugin: https://wordpress.org/plugins/two-factor-provider-webauthn/ installieren. Dieser integriert sich direkt mit Two-Factor und fügt WebAuthn-basierte Authentifizierung als weitere Zwei-Faktor-Option für Benutzer hinzu.

Rezensionen

24. März 2026 1 Antwort
works well, but it is causing my website slower somehow,i suggest to go through website lighthouse speed check before activate it
24. Februar 2026
It’s rare to see a plugin that’s so efficient, reliable, and without any complications. Simply brilliant!
15. Januar 2026
Install, activate. Go to your user profile and add your 2FA with your password manager/authentication app. Done. So easy and efficient. No bells and whistles, but if securing your admin account(s) is all that matters, it’s the best and easiest option. Thanks to the team for this!
Alle 200 Rezensionen lesen

Mitwirkende und Entwickler

„Two Factor“ wurde in 38 Sprachen übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Two Factor“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

0.16.0 – 2026-03-27

  • Breaking Changes: Remove legacy FIDO U2F provider support by #439.
  • New Features: Add a dedicated settings page for plugin configuration in wp-admin by #764.
  • New Features: Add a support links filter so consumers can customize contextual recovery/help links by #615.
  • New Features: Refresh backup codes UI styling and behavior by #804.
  • Bug Fixes: Delete stored TOTP secrets when the TOTP provider is disabled by #802.
  • Bug Fixes: Harden provider handling so login/settings checks do not fail open when expected providers disappear by #586.
  • Bug Fixes: Ensure only configured providers are saved and enabled in user settings by #798.
  • Bug Fixes: Improve settings-page accessibility and fix profile settings link behavior by #828 and #830.
  • Bug Fixes: Resolve PHPCS violations in provider files by #851.
  • Development Updates: Move login styles and provider scripts from inline output to enqueued/external assets by #807 and #814.
  • Development Updates: Improve inline docs and static-analysis compatibility (WPCS/phpstan) by #810, #815, and #817.
  • Development Updates: Improve unit test reliability and integrate CI code coverage reporting by #825, #841, and #842.
  • Development Updates: Update readme docs and modernize CI workflow infrastructure by #835, #837, #843, and #849.
  • Dependency Updates: Bump qs from 6.14.1 to 6.14.2 by #794.
  • Dependency Updates: Bump basic-ftp from 5.0.5 to 5.2.0 by #816.
  • Dependency Updates: Apply automatic lint/format updates and associated Composer package refreshes by #799.

0.15.0 – 2026-02-13

  • Breaking Changes: Trigger two-factor flow only when expected by @kasparsd in #660 and #793.
  • New Features: Include user IP address and contextual warning in two-factor code emails by @todeveni in #728
  • New Features: Optimize email text for TOTP by @masteradhoc in #789
  • New Features: Add „Settings“ action link to plugin list for quick access to profile by @hardikRathi in #740
  • New Features: Additional form hooks by @eric-michel in #742
  • New Features: Full RFC6238 Compatibility by @ericmann in #656
  • New Features: Consistent user experience for TOTP setup by @kasparsd in #792
  • Documentation: @since docs by @masteradhoc in #781
  • Documentation: Update user and admin docs, prepare for more screenshots by @jeffpaul in #701
  • Documentation: Add changelog & credits, update release notes by @jeffpaul in #696
  • Documentation: Clear readme.txt by @masteradhoc in #785
  • Documentation: Add date and time information above TOTP setup instructions by @masteradhoc in #772
  • Documentation: Clarify TOTP setup instructions by @masteradhoc in #763
  • Documentation: Update RELEASING.md by @jeffpaul in #787
  • Development Updates: Pause deploys to SVN trunk for merges to master by @kasparsd in #738
  • Development Updates: Fix CI checks for PHP compatability by @kasparsd in #739
  • Development Updates: Fix Playground refs by @kasparsd in #744
  • Development Updates: Persist existing translations when introducing new helper text in emails by @kasparsd in #745
  • Development Updates: Fix missing_direct_file_access_protection by @masteradhoc in #760
  • Development Updates: Fix mismatched_plugin_name by @masteradhoc in #754
  • Development Updates: Introduce Props Bot workflow by @jeffpaul in #749
  • Development Updates: Plugin Check: Fix Missing $domain parameter by @masteradhoc in #753
  • Development Updates: Tests: Update to supported WP version 6.8 by @masteradhoc in #770
  • Development Updates: Fix PHP 8.5 deprecated message by @masteradhoc in #762
  • Development Updates: Exclude 7.2 and 7.3 checks against trunk by @masteradhoc in #769
  • Development Updates: Fix Plugin Check errors: MissingTranslatorsComment & MissingSingularPlaceholder by @masteradhoc in #758
  • Development Updates: Add PHP 8.5 tests for latest and trunk version of WP by @masteradhoc in #771
  • Development Updates: Add phpcs:ignore for falsepositives by @masteradhoc in #777
  • Development Updates: Fix(totp): otpauth link in QR code URL by @sjinks in #784
  • Development Updates: Update deploy.yml by @masteradhoc in #773
  • Development Updates: Update required WordPress Version by @masteradhoc in #765
  • Development Updates: Fix: ensure execution stops after redirects by @sjinks in #786
  • Development Updates: Fix WordPress.Security.EscapeOutput.OutputNotEscaped errors by @masteradhoc in #776
  • Dependency Updates: Bump qs and express by @dependabot[bot] in #746
  • Dependency Updates: Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #750
  • Dependency Updates: Bump lodash-es from 4.17.21 to 4.17.23 by @dependabot[bot] in #748
  • Dependency Updates: Bump phpunit/phpunit from 8.5.44 to 8.5.52 by @dependabot[bot] in #755
  • Dependency Updates: Bump symfony/process from 5.4.47 to 5.4.51 by @dependabot[bot] in #756
  • Dependency Updates: Bump qs and body-parser by @dependabot[bot] in #782
  • Dependency Updates: Bump webpack from 5.101.3 to 5.105.0 by @dependabot[bot] in #780

0.14.2 – 2025-12-11

  • New Features: Add filter for rest_api_can_edit_user_and_update_two_factor_options by @gutobenn in #689
  • Development Updates: Remove Coveralls tooling and add inline coverage report by @kasparsd in #717
  • Development Updates: Update blueprint path to pull from main branch instead of a deleted f… by @georgestephanis in #719
  • Development Updates: Fix blueprint and wporg asset deploys by @kasparsd in #734
  • Development Updates: Upload release only on tag releases by @kasparsd in #735
  • Development Updates: Bump playwright and @playwright/test by @dependabot[bot] in #721
  • Development Updates: Bump tar-fs from 3.1.0 to 3.1.1 by @dependabot[bot] in #720
  • Development Updates: Bump node-forge from 1.3.1 to 1.3.2 by @dependabot[bot] in #724
  • Development Updates: Bump js-yaml by @dependabot[bot] in #725
  • Development Updates: Mark as tested with the latest WP core version by @kasparsd in #730

0.14.1 – 2025-09-05

  • Don’t URI encode the TOTP url for display. by @dd32 in #711
  • Removed the duplicate Security.md by @slvignesh05 in #712
  • Fixed linting issues by @sudar in #707
  • Update development dependencies and fix failing QR unit test by @kasparsd in #714
  • Trigger checkbox js change event by @gedeminas in #688

0.14.0 – 2025-07-03

  • Features: Enable Application Passwords for REST API and XML-RPC authentication (by default) by @joostdekeijzer in #697 and #698. Previously this required two_factor_user_api_login_enable filter to be set to true which is now the default during application password auth. XML-RPC login is still disabled for regular user passwords.
  • Features: Label recommended methods to simplify the configuration by @kasparsd in #676 and #675
  • Documentation: Add WP.org plugin demo by @kasparsd in #667
  • Documentation: Document supported versions of WP core and PHP by @jeffpaul in #695
  • Documentation: Document the release process by @jeffpaul in #684
  • Tooling: Remove duplicate WP.org screenshots and graphics from SVN trunk by @jeffpaul in #683

0.13.0 – 2025-04-02

  • Add two_factor_providers_for_user filter to limit two-factor providers available to each user by @kasparsd in #669
  • Update automated testing to cover PHP 8.4 and default to PHP 8.3 by @BrookeDot in #665

View the complete changelog details here.