Giriş Yap

Kayıt Ol

OTP SMS Nedir? Doğrulama Kodu Gönderiminde Güvenlik Ve Hız

Buradasınız: Anasayfa / BLOG
29 Ekim 2026, Perşembe
OTP SMS Nedir? Doğrulama Kodu Gönderiminde Güvenlik ve Hız
Tek kullanımlık doğrulama kodlarının nasıl çalıştığı ve güvenli bir OTP akışı kurmanın kuralları.
OTP SMS Nedir? Doğrulama Kodu Gönderiminde Güvenlik ve Hız

Bir uygulamaya üye olurken, internet bankacılığına girerken ya da online alışverişte ödeme onaylarken telefonunuza gelen 6 haneli kod… Buna OTP (One-Time Password), yani tek kullanımlık şifre denir. Bu yazıda OTP SMS nedir, nasıl çalışır ve kendi sitenizde ya da uygulamanızda güvenli bir doğrulama akışını nasıl kurarsınız, adım adım anlatıyoruz.

OTP SMS nedir?

OTP, yalnızca bir kez ve kısa bir süre için geçerli olan rastgele bir koddur. Kullanıcı şifresini bilse bile, işlemi tamamlamak için telefonuna gelen kodu girmesi gerekir. Böylece "bildiği bir şey" (şifre) ile "sahip olduğu bir şey" (telefon) birleşir. Buna iki adımlı doğrulama denir.

Güvenli OTP doğrulama akışı 6 adım
Güvenli OTP akışının 6 adımı

Nerelerde kullanılır?

  • Üyelik sırasında telefon numarası doğrulama
  • Şifre sıfırlama
  • Yeni cihazdan girişte onay
  • Ödeme, para çekme veya adres değişikliği gibi kritik işlemler
  • Kapıda ödeme siparişlerinde sahte sipariş önleme

Güvenli bir OTP akışı nasıl kurulur?

  1. Kodu sunucuda üretin: PHP'de random_int(100000, 999999) gibi kriptografik olarak güvenli bir fonksiyon kullanın. rand() ya da tarih/saatten türetilmiş kodlar tahmin edilebilir.
  2. Kodu düz metin saklamayın: Veritabanına kodun özetini (hash) ve son geçerlilik zamanını yazın.
  3. Kısa ömür verin: 2–5 dakika çoğu senaryo için idealdir.
  4. Deneme sınırı koyun: 3–5 yanlış denemeden sonra kodu geçersiz kılın.
  5. Tekrar gönderimi sınırlayın: "Kodu tekrar gönder" butonu için 60 saniye bekleme süresi ve saatlik üst limit belirleyin. Bu, hem kötü niyetli kişilerin SMS kredinizi tüketmesini hem de kullanıcının rahatsız edilmesini engeller.
  6. Kullanılan kodu hemen silin: Bir kod doğrulandığı anda tekrar kullanılamaz olmalı.

İyi bir OTP mesajı nasıl yazılır?

İyi bir OTP SMS mesajı örneği
İyi bir doğrulama kodu mesajının 4 özelliği

OTP mesajı kısa, net ve dolandırıcılığa karşı uyarıcı olmalı. Örnek:

482913 doğrulama kodunuzdur. Kod 3 dakika geçerlidir. Bu kodu kimseyle paylaşmayın; MAGAZAM çalışanları sizden asla kod istemez.

  • Kodu başa yazın: Kilit ekranı önizlemesinde ilk görünen şey kod olsun.
  • Süreyi belirtin: Kullanıcı neden acele etmesi gerektiğini bilsin.
  • "Kimseyle paylaşmayın" uyarısını mutlaka ekleyin: Telefon dolandırıcılığının en yaygın yöntemi, kullanıcıdan bu kodu istemektir.
  • Link koymayın: OTP mesajında link olması, oltalama mesajlarıyla karışmasına yol açar.
  • Başlıklı gönderin: Numara yerine markanızın adıyla gelen kod çok daha güven verir.

Hız neden bu kadar önemli?

Kullanıcı kodu bekleyen ekranın karşısında oturuyor. 30 saniyeden uzun süren her bekleme, kayıt formunun yarıda bırakılması demek. Bu yüzden OTP gönderimlerinde:

  • Operatörlerle doğrudan bağlantılı bir altyapı kullanın,
  • OTP'yi toplu kampanya gönderimleriyle aynı kuyruğa koymayın,
  • API'nin dönüş kodunu kontrol edin; hata alındığında kullanıcıya "kod gönderilemedi, tekrar deneyin" bilgisini anında gösterin.

PHP ile basit OTP örneği

<?php
session_start();

// 1) Kod üret ve gönder
$kod = (string) random_int(100000, 999999);
$_SESSION['otp_hash']  = password_hash($kod, PASSWORD_DEFAULT);
$_SESSION['otp_bitis'] = time() + 180;   // 3 dakika
$_SESSION['otp_deneme'] = 0;

$mesaj = $kod . ' doğrulama kodunuzdur. 3 dakika geçerlidir. Kimseyle paylaşmayın.';
// bizimSmsGonder([$telefon], $mesaj);  // API yazımızdaki fonksiyon

// 2) Kullanıcının girdiği kodu doğrula
function otpDogrula(string $girilen): bool
{
    if (empty($_SESSION['otp_hash']) || time() > $_SESSION['otp_bitis']) return false;
    if (++$_SESSION['otp_deneme'] > 5) { unset($_SESSION['otp_hash']); return false; }
    if (password_verify($girilen, $_SESSION['otp_hash'])) { unset($_SESSION['otp_hash']); return true; }
    return false;
}

Gönderim fonksiyonunun tamamı için SMS API entegrasyonu yazımıza ve API dokümanına göz atabilirsiniz.

OTP SMS ticari ileti midir?

Hayır. Doğrulama kodu, kullanıcının kendi başlattığı bir işlem için gönderilen bilgilendirme mesajıdır; ticari ileti onayı gerektirmez. Ancak aynı mesaja kampanya ya da indirim bilgisi eklerseniz ticari iletiye dönüşür. OTP mesajlarını her zaman sade tutun.

Sık sorulan sorular

Kod 4 haneli mi, 6 haneli mi olmalı?

6 hane, tahmin edilme ihtimalini 1/1.000.000'a indirir ve günümüzde standart kabul edilir. 4 hane yalnızca deneme sınırı çok sıkı tutulan düşük riskli işlemler için düşünülebilir.

Kullanıcıya kod gelmezse ne yapmalı?

Önce numaranın doğru formatta olduğundan emin olun, ardından iletim raporunu kontrol edin. Telefon kapalıysa mesaj, geçerlilik süresi boyunca tekrar denenir.

Her OTP kaç SMS kredisi harcar?

Yukarıdaki gibi kısa bir mesaj 1 kredi harcar. Uzun uyarı metinleri eklemek mesajı 2 boya çıkarabilir; karakter sayısını kontrol edin.

Üyelik ve ödeme süreçleriniz için hızlı, başlıklı OTP gönderimi kurmak isterseniz ücretsiz üye olun ve API anahtarınızı panelden alın.

Etiketler
otp sms
doğrulama kodu sms
tek kullanımlık şifre
2 adımlı doğrulama sms
sms onay kodu
Detaylı Bilgi İçin Bizi Arayın