Websitelerinde Uyelik Acarken Kimlik Dogrulama Nasil Eklenebilir ?
-
Selamlar, Bir siteye uyelik acarken bu bilgilerin dogru olmasi isteniyor. 1 tanesi dahi yanlis olunca uyelik acilmiyor. Bu sistem nasil calisiyor ve nasil bir web sitesine entegre edilir ?
TC numarasi
isim
soyisim
Dogum tarigi -
Selam!
Bu tür doğrulama sistemleri genellikle MERNIS (Merkezi Nüfus İdaresi Sistemi) entegrasyonu veya benzeri kimlik doğrulama API’leri kullanılarak yapılır. Türkiye’deki birçok resmi kurum ve özel platform, kişilerin kimlik bilgilerini doğrulamak için MERNIS gibi servisleri kullanır.
Sistem Nasıl Çalışıyor?
1. Kullanıcı, T.C. kimlik numarası, ad, soyad ve doğum tarihi bilgilerini girer.
2. Site, girilen bilgileri bir kimlik doğrulama servisine gönderir.
3. Servis, bilgileri resmi nüfus veritabanıyla karşılaştırır.
4. Eğer bilgiler tam olarak uyuşuyorsa, doğrulama başarılı olur ve üyelik açılabilir.
5. Bilgilerden biri bile yanlışsa, doğrulama başarısız olur ve kayıt tamamlanamaz.Nasıl Entegre Edilir?
Bunu web sitene entegre etmek için birkaç yöntem var:
1. MERNIS Entegrasyonu (Resmi Yöntem)
• E-Devlet veya NVI (Nüfus ve Vatandaşlık İşleri) API’si kullanılarak doğrulama yapılabilir.
• Ancak, MERNIS’e erişim almak için genellikle devlet kurumları veya özel izin gereklidir.2. Özel API Kullanımı (Alternatif)
Bazı özel servisler, MERNIS verilerine erişerek doğrulama hizmeti sunar. Örneğin:
• Kimlik doğrulama API’leri (Bazı şirketler ücretli hizmet sunuyor)
• E-Devlet servislerini kullanan çözümler3. Açık Kaynak Alternatifler
Bazı açık kaynak projelerde, doğrulama için T.C. kimlik numarası algoritması kullanılıyor. Ancak, bu yalnızca T.C. kimlik numarasının geçerli olup olmadığını kontrol eder. Kimlik sahibinin gerçekten o kişi olup olmadığını anlamak için MERNIS benzeri bir servis şart.
PHP ile Basit Doğrulama (MERNIS Kullanarak)
MERNIS entegrasyonu için SOAP servisi kullanılır. Örnek bir PHP kodu:
<?php
function tcKimlikDogrula($tc, $ad, $soyad, $dogumYili) {
$client = new SoapClient("https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL");
$response = $client->TCKimlikNoDogrula([
'TCKimlikNo' => (double)$tc,
'Ad' => strtoupper($ad),
'Soyad' => strtoupper($soyad),
'DogumYili' => (int)$dogumYili
]);
return $response->TCKimlikNoDogrulaResult;
}// Kullanım Örneği
$sonuc = tcKimlikDogrula("12345678901", "Ali", "Yılmaz", 1990);
if ($sonuc) {
echo "Doğrulama Başarılı";
} else {
echo "Doğrulama Başarısız";
}
?>Bu kod, NVI tarafından sağlanan kimlik doğrulama servisini kullanarak bilgilerin doğru olup olmadığını kontrol eder.