Emre Yüz


PHP SOAP ile TC Kimlik Doğrulama

Bu yazıda SOAP (Simple Object Access Protocol) servisini kullanarak TC Kimlik numarasının Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü üzerinden authentication işlemini gerçekleştirceğiz.

PHP SOAP ile TC Kimlik Doğrulama

By Emre YÜZ
26.9.2018 22.00



php soap wsdl xml servis kullanımı

SOAP servisi platformdan bağımsız XML ve WSDL (Web Services Description Language) dilleri ile haberleşmeyi sağlar. SOAP servisi metodlar, parametre, response ve hata mesajlarına ulaşmamızı sağlayan WSDL dökümanı bu konuda bize yardımcı olmaktadır. Yakın gelecekte fırsat bulursam web servisleri hakkında daha detaylı bir yazı paylaşacağım.

 Fatal error: Class 'SoapClient' not found in C:\AppServ\www\index.php on line 11

Öncelikle SOAP servisini kullanmak için PHP.ini dosyamızdan php_soap.dll eklentisini aktif hale getirmemiz getiriyoruz aksi takdirde yukarıdaki gibi hata verecektir. Satır başındaki noktalı virgülü kaldırdıktan sonra Apache sunucumuzu yeniden başlatıyoruz. Böylece artık bu servisi kullanabileceğiz. 



Şimdi sıra geldi doğrulama fonksiyonumuzu yazmaya.


 function verify($values){
	$send = '?xml version="1.0" encoding="utf-8"?;
	<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
	<TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
	<TCKimlikNo>'.$values["TCKimlikNo"].'</TCKimlikNo>
	<Ad>'.$values["Ad"].'</Ad>
	<Soyad>'.$values["Soyad"].'</Soyad>
	<DogumYili>'.$values["DogumYili"].'</DogumYili>
	</TCKimlikNoDogrula>
	</soap:Body>
	</soap:Envelope>';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL,            "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt($ch, CURLOPT_POST,           true );
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_HEADER, FALSE);
	curl_setopt($ch, CURLOPT_POSTFIELDS,    $send);
	curl_setopt($ch, CURLOPT_HTTPHEADER,     array(
	'POST /Service/KPSPublic.asmx HTTP/1.1',
	'Host: tckimlik.nvi.gov.tr',
	'Content-Type: text/xml; charset=utf-8',
	'SOAPAction: "http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"',
	'Content-Length: '.strlen($send)
	));
	$return = curl_exec($ch);
	curl_close($ch);
	return strip_tags($return);
}
$values = array("Ad" => "EMRE","Soyad" => "YÜZ","DogumYili" => "1900","TCKimlikNo" => "00000000000");
$result = verify($values);
if($sonuc=="true")
{
	echo "Doğrulandı!";
}
else
{
	echo "Doğrulamanamadı!";
}




Emre Yüz
Emre YÜZ
Multidisipliner Full-Stack Web Geliştirici/Tasarımcı, Veri
Mimarı ve Analist.

Multidisipliner Full-Stack Web Geliştirici/Tasarımcı, Veri Mimarı ve Analist.



HAKKIMDA

Emre YÜZ

Multidisipliner Full-Stack Web Geliştirici/Tasarımcı, Veri Mimarı ve Analist.

Son Yazılar

insta ❤️ feed

  • @yuzemre
  • @yuzemre
  • @yuzemre
  • @yuzemre
  • @yuzemre
  • @yuzemre

Reklam