PHP ile SMS Onay Sistemi Nasıl Yapılır?
Güvenlik, modern web uygulamalarının en kritik konularından biridir. Kullanıcılarınızın internet sitenize giriş işlemlerinde SMS onay sistemi kullanarak, hesap güvenliğinizi maksimum seviyeye çıkarabilirsiniz. Anadolu SMS API ile PHP kullanarak profesyonel bir SMS onay sistemi oluşturmayı bu rehberde detaylı olarak öğreneceksiniz.
Neden SMS Onay Sistemi?
Hesap şifreniz kötü niyetli birinin eline geçse bile, telefon numaranıza gelen tek kullanımlık şifreyi (OTP) bilmeden giriş yapamaz. Bu, çift faktörlü kimlik doğrulama (2FA) olarak bilinen güvenlik yöntemidir.
Gereksinimler
- Anadolu SMS API hesabı ve API anahtarı
- PHP 7.4 veya üzeri
- MySQL veritabanı
- cURL desteği
1. Veritabanı Tablosu Oluşturma
OTP kodlarını saklamak için bir tablo oluşturmalıyız:
CREATE TABLE sms_otp_codes (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
phone VARCHAR(20) NOT NULL,
code VARCHAR(6) NOT NULL,
expires_at DATETIME NOT NULL,
is_used TINYINT(1) DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user_phone (user_id, phone),
INDEX idx_code (code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2. OTP Kodu Üretme ve Gönderme
Anadolu SMS API ile OTP gönderme fonksiyonu:
<?php
function generateOTP() {
return str_pad(rand(0, 999999), 6, '0', STR_PAD_LEFT);
}
function sendOTPviaAnadoluSMS($phone, $code) {
$apiKey = 'YOUR_API_KEY';
$apiUrl = 'https://api.anadolusms.com/v1/sms/send';
$data = [
'to' => $phone,
'message' => 'Anadolu SMS Onay Kodunuz: ' . $code . '. 5 dakika geçerlidir.',
'sender' => 'ANADOLU'
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
?>
3. Güvenlik Önerileri
- OTP kodları maksimum 5 dakika geçerli olmalı
- Bir telefon numarası için dakikada maksimum 3 OTP gönderilmeli
- Yanlış kod girişimleri sınırlandırılmalı (ör: 5 deneme)
- Kullanılan kodlar hemen silinmeli veya işaretlenmeli
- IP bazlı rate limiting uygulanmalı
Sonuç
Anadolu SMS API ile PHP kullanarak güvenli bir SMS onay sistemi oluşturmak oldukça basittir. Bu sistem, kullanıcı hesaplarınızın güvenliğini önemli ölçüde artırır ve kötü niyetli erişim denemelerini engeller. Profesyonel SMS çözümleri için Anadolu SMS'i tercih edin.