- Katılım
- 8 Nisan 2020
- Mesajlar
- 7.701
- Makaleler
- 7
- Çözümler
- 93
Merhabalar. Geçen gün forumda da rastladım, web sitelerine TC Kimlik Numarası ekleyen kişiler var fakat nasıl doğrulayacaklarını bilmiyorlar. Hiçbir şekilde yasadışı yöntem kullanmaya gerek kalmadan, NVİ API ile nasıl doğrulama yapacağınızı göstereceğim.
Nüfus ve Vatandaşlık İşleri'nin bizlere sağlamış olduğu TC Kimlik Numarası doğrulama API'nı kullanacağınız. API linki:
Başlamadan önce, Win + R kombinasyonuyla Çalıştır'ı açın ve içerisine "php.ini" yazın. Açılan metin belgesinden CTRL + F kombinasyonu ile "soap" yazın. Şu değişikliği yapın:
Yani, başındaki noktalı virgülü kaldırın. Ardından kullandığınız programdan Apache hizmetini yeniden başlatın.
Basit bir form oluşturarak işe başlayabilirsiniz. Ben, sadece kodun temel mantığını göstermek için anlattığımdan dolayı herhangi bir CSS kullanmadan, sadece form oluşturdum. Görüntüsünü siz sonradan halledebilirsiniz.
Devamında ise API'ı kullanarak bir istek oluşturacağız. Kodumuz şu şekilde:
İlk olarak formdan gelen verilerimizi çektik ve onları bir değişkene atadık. Ardından API'ı kullandık ve olumlu dönüş alırsak "Doğrulama Başarılı" yazısını yazdırdık.
Anlatımım kötü olmuş olabilir, kusura bakmayın. Yardımcı olabildiysem ne mutlu. Sorularınızı sorabilirsiniz. İyi forumlar.
Projenin GitHub linki:
github.com
Videolu anlatım:
Nüfus ve Vatandaşlık İşleri'nin bizlere sağlamış olduğu TC Kimlik Numarası doğrulama API'nı kullanacağınız. API linki:
Başlamadan önce, Win + R kombinasyonuyla Çalıştır'ı açın ve içerisine "php.ini" yazın. Açılan metin belgesinden CTRL + F kombinasyonu ile "soap" yazın. Şu değişikliği yapın:
Kod:
;extension=soap
extension=soap
Yani, başındaki noktalı virgülü kaldırın. Ardından kullandığınız programdan Apache hizmetini yeniden başlatın.
Basit bir form oluşturarak işe başlayabilirsiniz. Ben, sadece kodun temel mantığını göstermek için anlattığımdan dolayı herhangi bir CSS kullanmadan, sadece form oluşturdum. Görüntüsünü siz sonradan halledebilirsiniz.
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TCKN Doğrula</title>
</head>
<body>
<form action="form.php" method="POST">
<label for="tckn">TC Kimlik Numarası</label>
<input type="text" name="tckn" id="tckn" placeholder="TC Kimlik Numarası">
<br>
<label for="name">Ad</label>
<input type="text" name="name" id="name" placeholder="Ad">
<br>
<label for="surname">Soyad</label>
<input type="text" name="surname" id="surname" placeholder="Soyad">
<br>
<label for="dob">Doğum Yılı</label>
<input type="text" name="dob" id="dob" placeholder="Doğum Yılı">
<br>
<button type="submit" name="submit">Doğrula</button>
</form>
</body>
</html>
Devamında ise API'ı kullanarak bir istek oluşturacağız. Kodumuz şu şekilde:
PHP:
<?php
if($_POST['tckn'] && $_POST['name'] && $_POST['surname'] && $_POST['dob']) {
$tckn = $_POST['tckn'];
$name = $_POST['name'];
$surname = $_POST['surname'];
$dob = $_POST['dob'];
try {
$tcknApi = new SoapClient("https://tckimlik.nvi.gov.tr/service/kpspublic.asmx?WSDL");
$params = [
"TCKimlikNo" => $tckn,
"Ad" => $name,
"Soyad" => $surname,
"DogumYili" => $dob
];
$response = $tcknApi -> TCKimlikNoDogrula($params);
if($response -> TCKimlikNoDogrulaResult) {
echo 'Doğrulama başarılı.';
exit;
} else {
echo 'Doğrulama başarısız.';
exit;
}
}
catch (PDOException $e) {
die("Hata: " . $e->getMessage());
}
} else {
echo 'Bütün bilgileri doldurun.';
exit;
}
İlk olarak formdan gelen verilerimizi çektik ve onları bir değişkene atadık. Ardından API'ı kullandık ve olumlu dönüş alırsak "Doğrulama Başarılı" yazısını yazdırdık.
TCKimlikNoDogrula
ve TCKimlikNoDogrulaResult
hariç diğer bütün bölümleri kafanıza ve projenize göre değiştirebilirsiniz. Ben herhangi bir güvenlik fonksiyonu oluşturmadım veya kullanmadım. Onlara dikkat etmeyi unutmayın.Anlatımım kötü olmuş olabilir, kusura bakmayın. Yardımcı olabildiysem ne mutlu. Sorularınızı sorabilirsiniz. İyi forumlar.
Projenin GitHub linki:
GitHub - vFurky/tckimlikdogrulama: NVİ API kullanarak TC Kimlik Numarası doğrulama sistemi.
NVİ API kullanarak TC Kimlik Numarası doğrulama sistemi. - vFurky/tckimlikdogrulama
Videolu anlatım: