T.C. kimlik numarası doğrulama fonksiyonu
|
#3013 |
|
|
Kaan
User is:
Posts: 2772
Meslek: Serbest Meslek
Age: 43
|
T.C. kimlik numaras? do?rulama fonksiyonu
Kullanabilmeniz i?in curl k?t?phanesinin y?kl? olmas? gerekli. Ufak tefek hatalar olabilir. : hp] <?php /** * T.C. kimlik numaras? do?rulama fonksiyonu... * * Kullanabilmeniz i?in curl k?t?phanesinin y?kl? olmas? gerekli * Fonksiyon True veya False de?eri d?nd?r?r. * __VIEWSTATE ve __EVENTVALIDATION hidden form de?erlerinin siteye ?nceden ba?lan?p al?nmas? sa?land?. * * @param int $TcKimlikNo * @param str $ad * @param str $soyad * @param int $dogum * @return true veya false */ function TcKimlikNo($TcKimlikNo,$ad,$soyad,$dogum){ #Ad soyad? b?y?k harfe ?evir #? harfi Utf-8'de sorun ??kard??? i?in b?le bir ??z?m buldum $tr=array( '?' => '?', '?' => '?', '?' => 'I', 'i' => '?', '?' => '?', '?' => '?', '?' => '?', '?' => '?'); $ad=strtr(strtoupper(strtr($ad,$tr)),$tr); $soyad=strtr(strtoupper(strtr($soyad,$tr)),$tr); #Sorgulama adresi $adres='http://tckimlik.nvi.gov.tr/Web/VerifyIdentityNumber.aspx'; #User Agent bilgileri $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.8.1) Gecko/20061010 Firefox/2.0"; #Curl oturumu ba?lat #__VIEWSTATE ve __EVENTVALIDATION hidden form de?erlerini almak i?in curl oturumu ba?lat?yoruz $ch=curl_init(); #Siteye ba?lan curl_setopt($ch,CURLOPT_URL,$adres); #User Agent bilgilerini ekle curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); #??kan veriyi de?i?kene aktar curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $data=curl_exec($ch); #ba?lant?y? kes curl_close($ch); preg_match('@(id="__VIEWSTATE" value=")(.*)(" />)@',$data,$deger); $__viewstate=$deger[2];//__VIEWSTATE de?eri preg_match('@(id="__EVENTVALIDATION" value=")(.*)(" />)@',$data,$deger); $__eventvalidation=$deger[2];//__EVENTVALIDATION de?eri #Post verileri $post=array( 'ctlIdentityNumber'=>$TcKimlikNo, '__VIEWSTATE'=>$__viewstate, 'ctlVerify'=>1, '__EVENTVALIDATION'=>$__eventvalidation ); #Curl oturumu ba?lat $ch=curl_init(); #Siteye ba?lan curl_setopt($ch,CURLOPT_URL,$adres); #User Agent bilgilerini ekle curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); #Post verisi curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$post); #??kan veriyi de?i?kene aktar curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $data=curl_exec($ch); #ba?lant?y? kes curl_close($ch); #??imize yarayan k?sm? al preg_match_all('@(<TD class="BOLD">\s+)([\w&#;?\s]+)(</TD>)@is',$data,$deger); $tr=array( '?' => '?', '?' => '?', '?' => '?', '?' => '?', '?' => '?', '?' => '?'); #De?i?kenlere aktar $ad2=strtr($deger[2][0],$tr); $soyad2=strtr($deger[2][1],$tr); $dogum2=$deger[2][2]; //echo "$ad = $ad2 $soyad=$soyad2 $dogum = $dogum2"; #De?erleri sorgula #Hata kontrolu sorun varsa false ver if(strstr($data,"ctlPageMessage_ctlError") || $ad != $ad2 || $soyad != $soyad2 || $dogum != $dogum2){ return false; } #Sorun yoksa devam et else{ return true; } } #?rnek Kullan?m if(!TcKimlikNo(33244500000,'isim','soyisim',1980)){ echo 'Girdi?iniz bilgiler hatal?'; } else { echo 'Devam...'; } ?> |
Emlak, Oto Galeri, Rent A Car, ?iir, Edebiyat Script Sipari?lerinizi Verebilirsiniz. Detaylar ??in: kaan@ntka.org Seditio 170 ?ndir Capte M?zik ?ndir Seditio Toolbar ?ndir |













