1. Anasayfa
  2. Blog
  3. WordPress Kılavuzları

WorPress’te E-posta ile Oturum Açmayı Devre Dışı Bırakma

WorPress’te E-posta ile Oturum Açmayı Devre Dışı Bırakma

WordPress, varsayılan olarak kullanıcıların hem kullanıcı adı hem de e-posta adresleriyle giriş yapmasına izin verir. Bu özellik kullanıcılar için pratik görünse de, güvenlik ve site yönetimi açısından bazı riskler taşıyabilir. E-posta ile giriş seçeneğini devre dışı bırakmak, brute force saldırılarına karşı ek bir koruma katmanı sağlar ve kullanıcı adı tabanlı bir giriş sistemini zorunlu kılar. Bu rehberde, WordPress sitenizde e-posta ile oturum açma özelliğini nasıl güvenli bir şekilde devre dışı bırakabileceğinizi öğreneceksiniz. Farklı yöntemler, güvenlik etkileri, alternatif çözümler ve en iyi uygulamaları detaylı bir şekilde ele alacağız.

📌 İşlemlere başlamadan önce Site dosyaları ve veritabanı yedeklerini almayı unutmayın.

Hızlı Yol: Aşağıdaki kodu temanızın functions.php dosyasına ekleyerek WordPress giriş formunda e-posta ile girişi kapatabilirsiniz:

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

WordPress’te E-posta ile Oturum Açma Neden Devre Dışı Bırakılmalı?

  • Güvenlik- E-posta adresleri kolayca tahmin edilebilir veya veri ihlallerinden elde edilebilir. Sadece kullanıcı adıyla giriş zorunluluğu, saldırganların işini zorlaştırır ve brute force saldırılarına karşı ek koruma sağlar.
  • Kontrollü Kullanıcı Yönetimi– Kullanıcı adı tabanlı sistem, üye yönetimini daha standart ve öngörülebilir hale getirir. Özellikle çok sayıda kullanıcısı olan sitelerde, giriş süreçlerini tek bir yöntemle sınırlamak yönetimi kolaylaştırır.
  • Daha Az Spam ve Bot Trafiği– E-posta ile giriş seçeneği, otomatik botların sisteme erişimini kolaylaştırabilir. Bu özelliği kapatmak, istenmeyen bot trafiğini azaltır ve sitenizin performansını iyileştirir.

WordPress’in varsayılan davranışı, kullanıcı dostu olmayı amaçlarken, güvenlik açısından bazı zayıflıklar içerir. E-posta adresleri genellikle herkese açık platformlarda paylaşılır ve veri sızıntılarında ele geçirilebilir. Bu durum, sitenize yetkisiz erişim girişimlerinin artmasına neden olabilir.

Özellikle üyelik sistemi olan e-ticaret siteleri veya hassas içerik barındıran WordPress sitelerinde, giriş yöntemlerini sınırlamak kritik bir güvenlik önlemidir. Birçok güvenlik uzmanı, çok faktörlü kimlik doğrulama ile birlikte tek bir giriş yöntemi kullanılmasını önermektedir. Ayrıca, e-posta ile giriş seçeneği bazen kullanıcıların hangi kimlik bilgilerini kullandıklarını unutmalarına neden olabilir. Tutarlı bir giriş sistemi, kullanıcı deneyimini iyileştirir ve destek taleplerini azaltır. Şimdi, bu özelliği nasıl devre dışı bırakabileceğinize geçelim.

İşte, WordPress giriş formunda e-posta ile oturum açmayı engelleme yolları:

1. Eklenti Kullanarak E-Postayla Oturum Açmayı Engelleme

WordPress admin panele e-posta ile girişi devre dışı bırakmanıza yardımcı olacak birçok ücretsiz eklenti mevcut, ancak halihazırda sitenizde yüklü herhangi bir güvenlik eklentisi varsa bu özelliğin sunulup sunulmadığını kontrol edin. Güvenlik eklentileri giriş yöntemlerini kontrol etmek için kapsamlı seçenekler sunar.

  • Önerilen Eklentiler:
    • WPS Hide Login: Giriş sayfanızı özelleştirirken e-posta girişini de kontrol edebilirsiniz.
    • Loginizer: Brute force korumasıyla birlikte giriş yöntemlerini sınırlama özelliği.
    • Limit Login Attempts Reloaded: Giriş denemelerini kısıtlarken e-posta formatını engelleyebilir.
    • Code Snippets: Özel PHP kodlarını güvenli bir şekilde eklemenize olanak tanır.

Eklenti kurulumundan sonra eklenti ayarlarına giderek e-posta giriş seçeneğini kapatabilirsiniz.

2. Functions.php ile E-postayla Giriş Özelliğini Kapatma

En temiz ve eklentisiz yöntem, WordPress’in filtre sistemini kullanarak e-posta girişini devre dışı bırakmak. Bu yöntem, WordPress’in kimlik doğrulama sürecine müdahale ederek e-posta ile giriş denemelerini engeller.

  • Öncelikle, WordPress yönetici panelinize giriş yapın. Ardından, Görünüm > Tema Dosya Düzenleyicisi‘ne gidin (tema dosyalarında değişiklik yaparken child theme veya Code Snippets gibi bir eklenti kullanmanızı öneririz. Bu sayede ana tema güncellendiğinde ayarlarınız silinmez.)
  • Sağ tarafta functions.php dosyasını bulun. Bu dosya, temanızın özel fonksiyonlarını barındırır.
  • Functions.php dosyasının en altına aşağıdaki kodu ekleyin:
// E-posta ile girişi devre dışı bırak
remove_filter('authenticate', 'wp_authenticate_email_password', 20);

// Alternatif: E-posta ile giriş denemelerini engelle
add_filter('authenticate', 'disable_email_login', 30, 3);
function disable_email_login($user, $username, $password) {
    if (is_email($username)) {
        return new WP_Error(
            'email_login_disabled',
            'HATA: E-posta ile giriş devre dışı bırakıldı. Lütfen kullanıcı adınızı kullanın.'
        );
    }
    return $user;
}
  • Bu kod, WordPress’in authenticate filtresine müdahale ederek e-posta formatındaki giriş denemelerini yakalar ve engeller. İlk satır, WordPress’in varsayılan e-posta kimlik doğrulama fonksiyonunu kaldırır. İkinci bölüm ise daha kapsamlı bir kontrol sağlar ve kullanıcıya açıklayıcı bir hata mesajı gösterir.
  • Eğer tamamen kaldırmak yerine e-posta karakteri (@) içeriyorsa girişi reddetmek için şu kodu deneyin:
add_filter( 'authenticate', 'disable_email_login_authenticate', 30, 3 );
function disable_email_login_authenticate( $user, $username, $password ) {
    // Eğer $user zaten doğrulanmış WP_User ise geri dön.
    if ( $user instanceof WP_User ) {
        return $user;
    }

    if ( is_string( $username ) && strpos( $username, '@' ) !== false ) {
        return new WP_Error(
            'email_login_disabled',
            __( '<strong>Hata</strong>: E-posta ile giriş devre dışı bırakıldı. Lütfen kullanıcı adınızı kullanın.' )
        );
    }

    return $user;
}

WordPress’te E-posta girişini devre dışı bırakmak tek başına yeterli değildir. Bu önlemi, kapsamlı bir güvenlik stratejisinin parçası olarak görmelisiniz. Güçlü şifreler, iki faktörlü kimlik doğrulama, düzenli güncellemeler ve güvenlik eklentileri ile birleştirdiğinizde, siteniz çok daha güvenli hale gelir. Özellikle dikkat edilmesi gereken nokta, mevcut kullanıcılarınızı bu değişiklik hakkında bilgilendirmektir. Bir duyuru yaparak, artık sadece kullanıcı adlarıyla giriş yapabileceklerini ve şifrelerini unuttukları takdirde e-posta adresleriyle şifre sıfırlama yapabileceklerini açıklayın.

Sık Sorulan Sorular

  1. Mevcut kullanıcılar etkilenecek mi?
    • Evet, değişiklik hemen yürürlüğe girer. Mevcut kullanıcılarınız artık sadece kullanıcı adlarıyla giriş yapabilecekler. Bu nedenle, değişikliği yapmadan önce tüm kullanıcılarınıza e-posta göndererek bilgilendirme yapmanız kritik önem taşır. Kullanıcılarınızın kullanıcı adlarını unutmamaları için WordPress profillerine girdiklerinde kullanıcı adlarını görünür kılmak ve hatırlatma e-postaları göndermek faydalı olacaktır.
  2. Şifre sıfırlama hala e-posta ile çalışır mı?
    • Evet, endişelenmeyin. E-posta ile giriş yapılamasa bile, şifre sıfırlama işlemi hala e-posta adresiyle yapılabilir. WordPress’in “Şifremi Unuttum” özelliği tam olarak çalışmaya devam eder. Bu özellik ayrı bir sistemdir ve etkilenmez. Hatta bu durum, kullanıcı adını unutan üyeleriniz için alternatif bir çözüm yolu sunar. Şifre sıfırlama sayfasına e-posta adresleriyle gidebilir, yeni şifre oluştururken kullanıcı adlarını da öğrenebilirler.
  3. İşlemi geri alma işlemi zor mu?
    • Kesinlikle hayır. Eklediğiniz kodu functions.php dosyasından silmeniz veya eklentiyi devre dışı bırakmanız yeterlidir. Değişiklik anında geri alınır ve kullanıcılar tekrar e-posta adresleriyle giriş yapabilir. Bu esneklik, test sürecini kolaylaştırır ve herhangi bir sorun yaşadığınızda hızlıca geri dönmenize olanak tanır. Ancak, uzun vadeli güvenlik için bu özelliği kapalı tutmanız önerilir.
  4. Parola yöneticileri bu değişiklikten etkilenir mi?
    • Eğer parola yöneticiniz (LastPass, 1Password, Bitwarden vb.) giriş alanını e-posta olarak kaydettiyse, login başarısız olabilir. Kullanıcıların giriş bilgilerini “kullanıcı adı” üzerinden güncellemesi gerekir.
  5. WooCommerce veya diğer eklentilerle uyumlu mu?
    • Çoğu durumda evet, ancak dikkatli olunması gerekir. WooCommerce ve benzeri üyelik eklentileri WordPress’in varsayılan kimlik doğrulama sistemini kullanır, bu nedenle değişiklik onları da etkiler. Ancak bazı eklentiler (özellikle üçüncü taraf giriş eklentileri) kendi kimlik doğrulama sistemlerini kullanabilir. Bu durumda, her eklentiyi ayrı ayrı test etmeniz ve gerekirse eklenti geliştiricisiyle iletişime geçmeniz önerilir.
  6. Performansa etkisi var mı?
    • Hayır, minimal bir etki bile yoktur. Bu kod, sadece giriş sürecinde çalışır ve sitenizin genel performansını etkilemez. Aslında, e-posta formatındaki giriş denemelerini erken aşamada engelleyerek, gereksiz veritabanı sorgularını önler ve minimal bir performans artışı bile sağlayabilir. Ancak, çok sayıda eklenti kullanıyorsanız ve her biri kimlik doğrulama sürecine müdahale ediyorsa, genel performansı izlemek için bir önbellekleme eklentisi kullanmanız önerilir.

Web Hosting
Editör Notu: İçeriğimiz okuyucu desteğiyle finanse edilmektedir. Bu, bağlantılarımızdan bazılarına tıkladığınızda komisyon kazanabileceğimiz anlamına gelir.

Burada sadece teorik bilgiler değil, gerçek deneyimlere dayanan pratik çözümler var. Burada yol arkadaşı olacağız. Karmaşık konuları birlikte çözecek, teknik detayları birlikte aşacağız...

Yazarın Profili