Açıklama
Two-Factor eklentisi, kullanıcıların parolalarına ek olarak ikinci bir kimlik doğrulama yöntemi kullanmalarını zorunlu kılarak WordPress oturum açma işleminize ek bir güvenlik katmanı ekler. Bu, parolalar ele geçirilse bile yetkisiz erişime karşı korunmaya yardımcı olur.
Kurulum Talimatları
Önemli: Her kullanıcı iki faktörlü kimlik doğrulama ayarlarını ayrı ayrı yapılandırmalıdır.
Bireysel Kullanıcılar İçin
- Profilinize gidin: WordPress yönetim panelinde “Kullanıcılar” “Profiliniz” bölümüne gidin.
- İki Faktörlü Kimlik Doğrulama Seçeneklerini Bulun: “İki Faktörlü Kimlik Doğrulama Seçenekleri” bölümüne ilerleyin.
- Yöntemlerinizi seçin: Bir veya daha fazla kimlik doğrulama sağlayıcısını etkinleştirin (site yöneticisinin bir veya daha fazla sağlayıcıyı gizlemiş olabileceğini ve bu nedenle kullanılabilir seçeneklerin değişebileceğini unutmayın):
- Kimlik Doğrulama Uygulaması (TOTP) – Google Authenticator, Authy, 1Password veya Synology Secure SignIn gibi uygulamaları kullanın.
- E-posta Kodları – Tek kullanımlık kodları e-posta yoluyla alın.
- Yedek Kodlar – Acil durumlar için tek kullanımlık yedek kodlar oluşturun.
- Sahte Yöntem – Yalnızca test amacıyla kullanılır (WP_DEBUG gerektirir).
- Her yöntemi yapılandırın: Etkinleştirilen her sağlayıcı için kurulum talimatlarını izleyin.
- Birincil yöntemi ayarla: Varsayılan kimlik doğrulama yönteminiz olarak hangisinin kullanılacağını seçin.
- Değişiklikleri kaydedin: Ayarlarınızı kaydetmek için “Profili Güncelle” düğmesine tıklayın.
Site Yöneticileri İçin
- Eklenti ayarları: Eklenti, hangi sağlayıcıların site genelinde devre dışı bırakılacağını yapılandırmak için “Ayarlar Two-Factor” altında bir ayarlar sayfası sunar.
- Kullanıcı yönetimi: Yöneticiler, diğer kullanıcıların profillerini düzenleyerek 2FA ayarlarını yapılandırabilir.
- Güvenlik önerileri: Hesaplarına erişimlerini kaybetmelerini önlemek için kullanıcıları yedek yöntemleri etkinleştirmeye teşvik edin.
Kullanılabilir Kimlik Doğrulama Yöntemleri
Kimlik Doğrulama Uygulaması (TOTP) – Önerilen
- Güvenlik: Yüksek – Zamana dayalı tek kullanımlık parolalar
- Kurulum: QR kodunu kimlik doğrulama uygulamasıyla tarayın.
- Uyumluluk: Google Authenticator, Authy, 1Password, Synology Secure SignIn ve diğer TOTP uygulamalarıyla çalışır.
- En uygun: İyi bir kullanım kolaylığıyla yüksek düzeyde güvenlik isteyen çoğu kullanıcı için
Yedek Kodlar – Önerilen
- Güvenlik: Orta – Tek kullanımlık kodlar
- Kurulum: Acil erişim için 10 yedek kod oluşturun.
- Uyumluluk: Her yerde çalışır, özel bir donanım gerektirmez.
- En uygun: Diğer yöntemlerin kullanılamadığı durumlarda acil erişim için
E-posta Kodları
- Güvenlik: Orta – E-posta yoluyla gönderilen tek kullanımlık kodlar
- Kurulum: Otomatik – WordPress e-posta adresinizi kullanır.
- Uyumluluk: E-posta kullanabilen tüm cihazlarla çalışır.
- En uygun: E-posta tabanlı kimlik doğrulamayı tercih eden kullanıcılar
FIDO U2F Güvenlik Anahtarları
- Tarayıcı desteğinin sona ermesi nedeniyle kullanımdan kaldırıldı ve eklentiden çıkarıldı.
Test Yöntemi
- Güvenlik: Yok – Her zaman başarılı olur.
- Kurulum: Yalnızca WP_DEBUG etkinleştirildiğinde kullanılabilir.
- Amaç: Yalnızca test ve geliştirme için
- En uygun: Eklentiyi test eden geliştiriciler
Önemli Notlar
HTTPS Gereksinimi
- Tüm yöntemler hem HTTP hem de HTTPS kullanan sitelerde çalışır.
Tarayıcı Uyumluluğu
- TOTP ve e-posta yöntemleri tüm cihazlarda ve tarayıcılarda çalışır.
Hesap Kurtarma
- Hesabınıza erişiminizin engellenmesini önlemek için yedek kodları her zaman etkinleştirin.
- Tüm kimlik doğrulama yöntemlerine erişiminizi kaybederseniz site yöneticinizle iletişime geçin.
En İyi Güvenlik Uygulamaları
- Mümkün olduğunda birden fazla kimlik doğrulama yöntemi kullanın.
- Yedek kodları güvenli bir yerde saklayın.
- Kimlik doğrulama ayarlarınızı düzenli olarak gözden geçirin ve güncelleyin.
WordPress’te iki faktörlü kimlik doğrulama hakkında daha fazla bilgi için WordPress Gelişmiş Yönetim Güvenlik Kılavuzu‘na bakın.
Daha fazla geçmiş bilgisi için bu yazıya bakın.
Eylemler & Filtreler
Eklenti tarafından sağlanan eylem ve filtre kancalarının listesi aşağıdadır:
two_factor_providersfiltresi, e-posta ve zamana dayalı tek kullanımlık parolalar gibi kullanılabilir iki faktörlü kimlik doğrulama sağlayıcılarını geçersiz kılar. Dizi değerleri, iki faktörlü kimlik doğrulama sağlayıcılarının PHP sınıf adlarıdır.two_factor_providers_for_userfiltresi, belirli bir kullanıcı için kullanılabilir iki faktörlü kimlik doğrulama sağlayıcılarını geçersiz kılar. Dizi değerleri sağlayıcı sınıflarının örnekleridir veWP_Userkullanıcı nesnesi ikinci bağımsız değişken olarak kullanılabilir.two_factor_enabled_providers_for_userfiltresi, bir kullanıcı için etkinleştirilen iki faktörlü kimlik doğrulama sağlayıcılarının listesini geçersiz kılar. İlk bağımsız değişken, etkinleştirilmiş sağlayıcı sınıf adlarını değer olarak içeren bir dizidir; ikinci bağımsız değişken ise kullanıcı kimliğidir (ID).two_factor_user_authenticated, kimlik doğrulama işleminin hemen ardından oturum açan kullanıcıyı belirlemek için ilk bağımsız değişken olarak oturum açmışWP_Usernesnesini alan bir eylemdir.two_factor_user_api_login_enablefiltresi, REST API ve XML-RPC için kimlik doğrulamayı yalnızca uygulama parolalarıyla sınırlar. İkinci bağımsız değişken olarak kullanıcı kimliğini (ID) sağlar.two_factor_email_token_ttlfiltresi, bir e-posta belirtecinin oluşturulduktan sonra geçerli kabul edileceği süreyi saniye cinsinden geçersiz kılar. İlk bağımsız değişken olarak saniye cinsinden süreyi, ikinci bağımsız değişken olarak ise kimliği doğrulananWP_Usernesnesinin kimliğini (ID) alır.two_factor_email_token_lengthfiltresi, e-posta belirteçleri için varsayılan 8 karakterlik uzunluğu geçersiz kılar.two_factor_backup_code_lengthfiltresi, yedek kodlar için varsayılan 8 karakterlik uzunluğu geçersiz kılar. İkinci bağımsız değişken olarak ilgili kullanıcınınWP_Usernesnesini sağlar.two_factor_rest_api_can_edit_userfiltresi, bir kullanıcının Two-Factor ayarlarının REST API üzerinden düzenlenip düzenlenemeyeceğini belirleyen ayarı geçersiz kılar. İlk bağımsız değişken mevcut$can_editmantıksal (boolean) değeri, ikinci bağımsız değişken ise kullanıcı kimliğidir (ID).two_factor_before_authentication_prompt, sağlayıcı nesnesini alan ve kimlik doğrulama giriş formunda gösterilen istemden önce çalışan bir eylemdir.two_factor_after_authentication_prompt, sağlayıcı nesnesini alan ve kimlik doğrulama giriş formunda gösterilen istemden sonra çalışan bir eylemdir.two_factor_after_authentication_input, sağlayıcı nesnesini alan ve kimlik doğrulama giriş formunda gösterilen giriş alanından sonra çalışan bir eylemdir (formda giriş alanı yoksa eylem,two_factor_after_authentication_prompteyleminden hemen sonra çalışır).two_factor_login_backup_links, iki faktörlü kimlik doğrulama giriş formunda görüntülenen yedek bağlantıları filtreler.
İki Faktörlü Kimlik Doğrulama Sonrası Yönlendirme
İki faktörlü kimlik doğrulama işlemini tamamladıktan sonra kullanıcıları belirli bir URL’ye yönlendirmek için WordPress çekirdeğinde yerleşik olan login_redirect filtresini kullanın. Bu filtre, standart WordPress oturum açma işlemindekiyle aynı şekilde çalışır:
add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
return home_url( '/dashboard/' );
}, 10, 3 );
Ekran Görüntüleri




SSS
Two-Factor eklentisi hangi PHP ve WordPress sürümlerini destekliyor?
Bu eklenti, WordPress’in son iki ana sürümünü ve bu WordPress sürümlerinin desteklediği en düşük PHP sürümünü destekler.
Nasıl geri bildirim gönderebilir veya bir hata konusunda yardım alabilirim?
Hataları, özellik önerilerini veya güvenlikle ilgili olmayan diğer geri bildirimleri bildirmek için en uygun yer Two Factor GitHub sorunları sayfasıdır. Yeni bir sorun bildirmeden önce aynı geri bildirimin başka biri tarafından bildirilip bildirilmediğini kontrol etmek için lütfen mevcut sorunlarda arama yapın.
Güvenlik açıklarını nerede bildirebilirim?
Eklentiye katkıda bulunanlar ve WordPress topluluğu güvenlik açıklarını ciddiye alır. Bulgularınızı sorumlu bir şekilde bildirmenizi takdir ediyor ve katkılarınızı belirtmek için elimizden gelen çabayı göstereceğiz.
Bir güvenlik sorununu bildirmek için lütfen WordPress HackerOne programını ziyaret edin.
Tüm kimlik doğrulama yöntemlerime erişimimi kaybedersem ne olur?
Yedek kodları etkinleştirdiyseniz hesabınıza yeniden erişmek için bunlardan birini kullanabilirsiniz. Yedek kodlarınız yoksa veya hepsini kullandıysanız hesabınızı sıfırlamak için site yöneticinizle iletişime geçmeniz gerekir. Bu nedenle yedek kodları her zaman etkinleştirmeniz ve güvenli bir yerde saklamanız önemlidir.
Bu eklentiyi WebAuthn ile kullanabilir miyim?
Eklenti daha önce WebAuthn’ın öncülü olan FIDO U2F’yi destekliyordu. WebAuthn desteğinin eklenmesi için açık bir konu burada bulunmaktadır: https://github.com/WordPress/two-factor/pull/427
Two-Factor ile geçiş anahtarlarını veya donanım güvenlik anahtarlarını kullanmanın önerilen bir yolu var mı?
Evet. Geçiş anahtarları (passkey) ve donanım güvenlik anahtarları için Two-Factor Provider: WebAuthn eklentisini yükleyebilirsiniz: https://wordpress.org/plugins/two-factor-provider-webauthn/ . Bu eklenti, Two-Factor ile doğrudan bütünleşir ve kullanıcılara ek bir iki faktörlü kimlik doğrulama seçeneği olarak WebAuthn tabanlı kimlik doğrulama olanağı sunar.
İncelemeler
Katkıda Bulunanlar ve Geliştiriciler
“Two Factor” açık kaynaklı yazılımdır. Aşağıdaki kişiler bu eklentiye katkıda bulunmuşlardır.
Katkıda bulunanlar“Two Factor” 41 dile çevrildi. Katkıda bulundukları için çevirmenlere teşekkürler.
“Two Factor” eklentisini dilinize çevirin.
Geliştirmeyle ilgilenir misiniz?
Kodu görüntüleyin, SVN deposuna göz atın ya da RSS ile geliştirme günlüğüne abone olun.
Değişiklik Kaydı
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.
- Geliştirme Güncellemeleri: #825, #841 ve #842 ile birim testlerinin güvenilirliğini artırın ve CI kod kapsamı raporlamasını entegre edin.
- Geliştirme Güncellemeleri: #835, #837, #843 ve #849 ile benioku belgelerini güncelleyin ve CI iş akışı altyapısını modernleştirin.
- Bağımlılık Güncellemeleri: #794 ile
qspaketini 6.14.1 sürümünden 6.14.2 sürümüne yükseltin. - Bağımlılık Güncellemeleri: #816 ile
basic-ftppaketini 5.0.5 sürümünden 5.2.0 sürümüne yükseltin. - Bağımlılık Güncellemeleri: #799 ile otomatik kod denetimi/biçimlendirme güncellemelerini ve bunlarla ilişkili Composer paket güncellemelerini uygulayın.
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:
@sincedocs 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
masterby @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_protectionby @masteradhoc in #760 - Development Updates: Fix
mismatched_plugin_nameby @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&MissingSingularPlaceholderby @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:ignorefor falsepositives by @masteradhoc in #777 - Development Updates: Fix(totp):
otpauthlink 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.OutputNotEscapederrors 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
