Web Formlarında TC Kimlik No Sorgulama ile Ad Soyad Yazdırma

15
Şubat
2013
Web Formlarında TC Kimlik No Sorgulama ile Ad Soyad Yazdırma

Bu Makaleyi Özellikle Yayınlamak isteyişim asıl sebebi İnternette çoğu forumda arayıp tam isabetli cevaplar alamam ve bu arayış içinde olan tüm yazılım geliştirici arkadaşlar olması sonucunda sizlerle bol Resimli ve Gerçek Kaynakları belirterek anlatmak isteyişimdir... Linkleri Adresleri özellikle veriş sebebim ise Bizim Resmi Dairelerdeki E-Devlet İşleyişi,  ne hikmetse ya adres (IP) ya da Web Servis yapılarını değiştiriyor olmasıdır. Böylelikle işleyişin Ana Sitesinden [ baktınız ki sistem yapı ya da IP değişmiş ] direk bu sayfalar yardımı ile tekrar erişip yeni yapıyı hemen sisteminize göre uyarlayabilmeniz için detaylamaktayım.

İsterseniz Öncelikle Sizlere TC Kimlik No Algoritmasından Bahsedeyim.

TC Kimlik Numaraları 11 Basamaktan oluşmaktadır. İlk 9 basamak arasında kurulan bir algoritma bize 10. basmağı, ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.

  • 11 hanelidir.
  • Her hanesi rakamsal değer içerir.
  • İlk hane 0 olamaz.
  • 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10′a bölümünden kalan, yani Mod10′u bize 10. haneyi verir.
  • 1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10′a bölümünden kalan, yani Mod10′u bize 11. haneyi verir.

20314132488
MOD10(((2+3+4+3+4)*7) – (0+1+1+2)) = 8
MOD10(2+0+3+1+4+1+3+2+4+8) = 8

Çok da karışık olmayan bir algoritma, uygulamalarda regex olarak kullanmakda fayda var.

C# için kodları ;

public static bool TcDogrulaV2(string tcKimlikNo)

{

    bool returnvalue = false;

    if (tcKimlikNo.Length == 11)

    {

        Int64 ATCNO, BTCNO, TcNo;

        long C1,C2,C3, C4, C5,C6,C7,C8, C9,Q1,Q2;

 

        TcNo = Int64.Parse(tcKimlikNo);

 

        ATCNO = TcNo / 100;

        BTCNO = TcNo / 100;

 

         C1 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C2 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C3 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C4 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C5 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C6 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C7 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C8 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         C9 = ATCNO % 10;  ATCNO = ATCNO / 10 ;

         Q1 = ((10-((((C1+C3+C5+C7+C9)*3)+(C2+C4+C6+C8))%10))%10);

         Q2 = ((10-(((((C2+C4+C6+C8)+Q1)*3)+(C1+C3+C5+C7+C9))%10))%10);

 

         returnvalue = ((BTCNO * 100)+(Q1 * 10)+Q2 == TcNo);

    }

    return returnvalue;

}

 

 


 

Bu Kadarı Bizim İçin Bilinmesi Yeterlidir. Bizim asıl yapmak istediğimiz.

TextBox1 Olarak adlandırdığımız TC Kimlik Yazılan Kısıma Ad Ve SoyAdın Sorgulanıp TextBox2 ye otomatikmen yazdırılmasını sağlamak.

Bu İşlem Yaptığımız Windows Uygulamalarımız da ve Web Uygulamalarımızda Üyelik ve Benzeri Formlarda Sorgulama ve Sahteciliği Önlemek yanı sıra iş yükünü azaltmak.

Öncelikle Bunları nasıl bulup alabiliriz ve Web Servisten nasıl faydalanabiliriz.

*********** http://www.nvi.gov.tr/  Adresine giriyoruz. *****************

1.jpg

Açılan Web Sitesinden Hemen Solda Bulunan Sıkça Sorulan Sorular Menüsü yardımıyla daha önceden bizler için hazırlanmış yardım konularına bir göz atıyoruz.

2.jpg

 

Bu sefer Sol Tarafta Yardım Konu Başlıklarından Kimlik Paylaşım Sistemi (KPS) Linkine tıklayıp. Web Servisler Hakkında ve Başburuları için Yapılması Gereken Bilgilerin olduğu sayfaya ilerliyoruz.

3.jpg

Açmakta olduğuz sayfa bizim için en gerekli kısımdır.

Bu Bölümde 3 başlık Altında Toplanmış ve Gerekli Doküman, Başvuru Formu ve Telefon Bilgilerinin Tamamı Bulunmaktadır.

1.       Başlıkta Sorgulama İçin Gerekli Şifrenin Nasıl Alınacağından Bahsetmekte.

2.       Bu Sistemden Kimlerin Faydalanabileceği yazmaktadır (Her İki Word Belgesi de Aynı)

3.       Türkiye Genelinde İL ve İLÇE Kodlarından Bahsetmektedir gerek duyduğunuz bir projenizde buraya da erişmek için kullanabilirsiniz.

Eklemek İstediğim Önemli Bir Nokta ise Bu Servisin Ücretli Olduğunun Bilinmesi (Aslında Kamu Kurumları Word Belgesinde) Bu Bilgi Yazmaktadır İndirebilirisiniz. Bu İşlem İçin Kullanıcı Adı ve Şifre Alınması gerekmektedir.

 

Fiyatlandırma Her Sorgulama içi 2 Kuruş olarak belirlenmiştir. Muhakkak Projenizde Bilgi Veriniz.

Bu Kısma kadar tüm hazırlıklarınızı tamamladınız olarak kabul edersek. Şimdi Web Servislere nasıl erişip ayarlamalarımızı bağlantılarımızı nereden alacağız birazdan buradan bahsedelim.

   

http://tckimlik.nvi.gov.tr/   Hepimizin Bildiği bu adres TC Kimlik Sorgulama ve Doğrulama yaptığımız Web Sayfasıdır.

Ancak Giriş Yaptığımızda Üstteki Menülerde XML Web Servisler Yazan Linke Tıklıyoruz…

5.jpg

Web Nihayetinde Karşımızda Ana Başlık Altında Bize Sunulmakta Olan Servis ADRESİ çıkıyor. Tabiki TIKLIYORUZ.

4.jpg

 

http://tckimlik.nvi.gov.tr/Mernis.KPS.Internet.Web.UI/Service/KPSPublic.asmx Yönedirdiği adres Aşağıdadır.

http://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx

Tıklama Sonrasında Karşımızda TCKimlikNoDogrula işlemimizin Web Servis Linki geliyor.

7.jpg

Bu Linki Tıklamamız ile birlikte artık KOD karşımızda geliyor.

8.jpg

 

 

Olmadı dimi şimdi de karşımıza SOAP falan geldi.

Bahsedecek Olursak;

 

-Kısaca SOAP Nedir?

(Simple Object Access Protocol - Basit Nesne Erişim Protokolü), distributed (dağıtık) uygulamalarda ve web servislerinin haberleşmesinde kullanılmak üzere tasarlanan, RPC (Remote Procedure Call) modelini kullanan, istemci/sunucu mantığına dayalı
bir protokoldür. Dağıtık uygulamalarda ve Remote messaging için yeni bir teknoloji olmasına karşılık, alt yapısı sayesinde web üzerinde kullanmak için en uygun protokol olması nedeniyle Web Servislerinin adı SOAP la birlikte anılır olmuştur.

Bkz; http://www.google.com.tr/search?hl=tr&client=firefoxa&hs=TjG&rls=org.mozilla%3Atr%3Aofficial&q=SOAP+NED%C4%B0R&aq=f&aqi=&aql=&oq=&gs_rfai=

 

Ayarlamalarımızı Kullanıcı Adımızı Şifremizi Aldık Artık İşi Projemize Bağlayacağımız.

Örnek Bir Kod Verecek Olursak;

ServiceReference1.ServiceSoapClient client = new WebApplication1.ServiceReference1.ServiceSoapClient();

client.Open();

ServiceReference1.TCKimlikNoKisiBilgi[] bilgiler = client.TCKimlikNoSorgulaArray(kullanici_id, "kullanici_sifre", T.C Kimlik Numarasi);

Response.Write(bilgiler[0].Ad+" "+bilgiler[0].Soyad);

client.Close();

Unutmadan Mernis Uygulamasından Farklı Sorgulamalar için Gerekli Adresi Sizlerle Paylaşıyorum.

İnşallah İşinize yarar.

http://212.175.169.157/sbkpsws/service.asmx

Resimden de anlaşılacağı üzere birçok servis bulunmakta. Kamu taraflı uygulamalarında çoğundan faydalanabilir yada en azından bilgi sahibi olabileceğiniz bir bölüm olarak bilinmesinden fayda var demektir.

6.jpg

 

Not: Servislerin Ücretleri Olduğunu Unutmayalım.

Bir Sonraki Makalemde Proje Sonrasında Tabi J

Web Sitesi Üzerinden Online Fatura Sorgulama ve Online Fatura Ödeme Hakkında Anlatımlarda Bulunacağım.

Garanti Bankası Web Servisleri Kullanılarak ve Bazı Farklı Servisler Uyarlanarak Yapılacak Bir Proje olacak.

(Olsaydı Başka Bankada Tanıdığımız Belki Daha’da Hızlı halledip Makaleyi Erkenden Yayımlardık )

İnşallah İşinize Yarar Bir Konu olmuştur.

Bir Sonra ki Makalemizde Görüşmek Üzere…

 

GÜNCELLEME

DİKKAT! 01.06.2011 tarihi itibari ile KPS Servisi yalnızca aşağıdaki SSL (https adresi) üzerinden hizmet verecektir. Http adresi (http://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx) hizmete kapatılacaktır.

 

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!