WordPress’te SMS Doğrulama Nasıl Yapılır? Adım Adım Rehber

WordPress sitenizde kullanıcı güvenliğini artırmak mı istiyorsunuz? İki faktörlü kimlik doğrulama (2FA) için SMS onay sistemi entegre etmek en etkili yöntemlerden biri. Bu rehberde WordPress sitenize SMS doğrulama eklemenin farklı yollarını inceleyeceğiz.

Neden SMS Doğrulama Kullanmalısınız?

WordPress siteleri sıklıkla brute force saldırılarına maruz kalıyor. Sadece şifre koruması artık yeterli değil. SMS doğrulama ekleyerek:

  • Yetkisiz erişimi engellersiniz: Şifre çalınsa bile SMS kodu olmadan giriş yapılamaz
  • Bot saldırılarını durdurursunuz: Otomatik giriş denemeleri etkisiz hale gelir
  • Kullanıcı güvenini artırırsınız: Profesyonel güvenlik önlemleri sitenize değer katar
  • KVKK/GDPR uyumluluğunu desteklersiniz: Ek güvenlik katmanı yasal gerekliliklere yardımcı olur

Yöntem 1: WordPress 2FA Eklentileri

En kolay yöntem hazır eklentiler kullanmaktır. Popüler seçenekler:

Wordfence Security

Ücretsiz versiyonunda authenticator desteği, premium versiyonunda SMS desteği sunar. Kurulumu basit, kapsamlı güvenlik özellikleri içerir.

Two Factor Authentication

Hafif ve kullanımı kolay bir eklenti. E-posta ve authenticator desteği mevcut. SMS için ek entegrasyon gerektirir.

WP 2FA

Kullanıcı dostu arayüzü ile öne çıkar. Farklı kullanıcı rolleri için ayrı politikalar belirleyebilirsiniz.

Yöntem 2: SMS API Entegrasyonu

Daha fazla kontrol istiyorsanız, SMS API servisleri kullanarak özel çözüm geliştirebilirsiniz. İşte temel adımlar:

Adım 1: SMS Servis Seçimi

API desteği sunan güvenilir bir SMS servisi seçmeniz gerekiyor. Seçim yaparken dikkat edilecek kriterler:

  • REST API desteği
  • Webhook entegrasyonu
  • Dokümantasyon kalitesi
  • Fiyatlandırma modeli
  • Teslim hızı ve güvenilirlik

GetCode gibi platformlar geliştiriciler için API desteği sunuyor ve 150+ ülkeden numara sağlayabiliyor.

Adım 2: functions.php Düzenlemesi

Temanızın functions.php dosyasına veya özel bir eklentiye aşağıdaki gibi kod ekleyebilirsiniz:

// SMS doğrulama için örnek fonksiyon yapısı
function custom_sms_verification($phone_number) {
    $api_key = 'YOUR_API_KEY';
    $api_url = 'https://api.smsservice.com/send';
    
    $verification_code = rand(100000, 999999);
    
    // API isteği gönder
    $response = wp_remote_post($api_url, array(
        'body' => array(
            'api_key' => $api_key,
            'phone' => $phone_number,
            'message' => 'Doğrulama kodunuz: ' . $verification_code
        )
    ));
    
    // Kodu session'a kaydet
    WC()->session->set('sms_verification_code', $verification_code);
    
    return $response;
}

Adım 3: Giriş Formuna Entegrasyon

wp_login hook’unu kullanarak giriş sürecine SMS doğrulama adımı ekleyebilirsiniz:

add_action('wp_login', 'trigger_sms_on_login', 10, 2);

function trigger_sms_on_login($user_login, $user) {
    $phone = get_user_meta($user->ID, 'phone_number', true);
    if($phone) {
        custom_sms_verification($phone);
        // Kullanıcıyı doğrulama sayfasına yönlendir
        wp_redirect(home_url('/sms-dogrulama'));
        exit;
    }
}

Yöntem 3: WooCommerce SMS Doğrulama

E-ticaret sitenizde sipariş veya kayıt sırasında SMS doğrulama istiyorsanız:

Kayıt Formuna SMS Alanı Ekleme

add_action('woocommerce_register_form', 'add_phone_field');

function add_phone_field() {
    echo '<p class="form-row">';
    echo '<label>Telefon Numarası <span class="required">*</span></label>';
    echo '<input type="tel" name="phone" required />';
    echo '</p>';
    echo '<p class="form-row">';
    echo '<button type="button" id="send-sms">Kod Gönder</button>';
    echo '</p>';
    echo '<p class="form-row">';
    echo '<label>SMS Kodu <span class="required">*</span></label>';
    echo '<input type="text" name="sms_code" required />';
    echo '</p>';
}

Test Aşaması: Sanal Numara Kullanımı

Geliştirme ve test sürecinde gerçek telefon numaraları kullanmak pratik değil. Bu aşamada sanal numara servisleri devreye giriyor.

GetCode gibi uygulamalar 150+ ülkeden test numarası almanızı sağlıyor. Böylece:

  • Farklı ülke numaralarıyla test yapabilirsiniz
  • Kişisel numaranızı spam riskine atmadan test edebilirsiniz
  • Birden fazla test senaryosu için farklı numaralar kullanabilirsiniz
  • Ekip arkadaşlarınızla paralel testler yürütebilirsiniz

Güvenlik İpuçları

  1. Rate Limiting Uygulayın: Aynı IP’den çok fazla SMS isteğini engelleyin
  2. Kod Süresini Sınırlayın: Doğrulama kodları 5-10 dakika içinde geçersiz olmalı
  3. Deneme Limitini Belirleyin: 3-5 yanlış denemeden sonra geçici engel koyun
  4. HTTPS Kullanın: Tüm doğrulama trafiği şifreli olmalı
  5. Logları Tutun: Doğrulama girişimlerini kaydedin

Sonuç

WordPress sitenize SMS doğrulama eklemek, güvenliği önemli ölçüde artırır. Hazır eklentiler hızlı çözüm sunarken, API entegrasyonu daha fazla esneklik sağlar. Test sürecinde sanal numara servislerinden faydalanmayı unutmayın.

Faydalı Kaynaklar:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir