• Dün, 11:33:25
    #10
    Bireysel kullanıcıya KPS erişimi zaten verilmiyor hocam. KPS, Nüfus ve Vatandaşlık İşleri tarafında kamu kurumları ve yetkili tüzel kişilikler için kullanılan bir sistem.

    Sadece “gerçek kişi mi?” doğrulaması gerekiyorsa SMS OTP + telefon doğrulama olarak yapabilirsiniz projenizde.
  • Dün, 11:43:21
    #11
    https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL

    Bu sayfa kapandımı eskiden php ile 4 parametre (TCKimlikNo, Ad, Soyad, DogumYili) yollayıp true false dönüyordu ? Hatta geçmişte böyle bir script paylaşmıştım (2013)
  • Dün, 11:50:38
    #12
    https://m.turkiye.gov.tr/api.php?p=belge-dogrulama&qr=barkod:$barcode;tckn:$tckn; kullanıcıdan belge oluşturup belge numarasını girmesini isteyebilirsiniz. ardından e devlet apisi ile belgenin doğruluğunu kontrol edersiniz. istek sonucunda oluşturulmuş belgenin kopyası ve bilgiler dönüyor.
  • Dün, 12:02:20
    #13
    Sonuç olarak yasal aracı servis sağlayıcı yok. Sms doğrulaması yerini tutmasa da en kolay çözüm. Belge numarası kontrolüyle dolaylı yoldan yapılabilir. Yardımcı olamaya çalışan herkese çok teşekkür ederim.

    selim61 adlı üyeden alıntı: mesajı görüntüle
    Önceden public servisleri açıktı 2 yıldır kapalı.
    KPS servisi olan bir yer üzerinden doğrulama yapılabilir ama riskli (biri malum tc yi sorgularsa silsile yoluyla hepinizi alırlar)

    Çözüm : bireysel kullanıcıysan kimlik doğrulama
    SEOKOZ adlı üyeden alıntı: mesajı görüntüle
    KPS bireysele vermiyorsa ek yöntem aramamanızı tavsiye ederim hoca
    Etik değil
    Cartman adlı üyeden alıntı: mesajı görüntüle
    Bireysel kullanıcıya KPS erişimi zaten verilmiyor hocam. KPS, Nüfus ve Vatandaşlık İşleri tarafında kamu kurumları ve yetkili tüzel kişilikler için kullanılan bir sistem.

    Sadece “gerçek kişi mi?” doğrulaması gerekiyorsa SMS OTP + telefon doğrulama olarak yapabilirsiniz projenizde.
    Lecter41 adlı üyeden alıntı: mesajı görüntüle
    https://m.turkiye.gov.tr/api.php?p=belge-dogrulama&qr=barkod:$barcode;tckn:$tckn; kullanıcıdan belge oluşturup belge numarasını girmesini isteyebilirsiniz. ardından e devlet apisi ile belgenin doğruluğunu kontrol edersiniz. istek sonucunda oluşturulmuş belgenin kopyası ve bilgiler dönüyor.
  • Dün, 12:08:09
    #14
    eooonz adlı üyeden alıntı: mesajı görüntüle
    Sonuç olarak yasal aracı servis sağlayıcı yok. Sms doğrulaması yerini tutmasa da en kolay çözüm. Belge numarası kontrolüyle dolaylı yoldan yapılabilir. Yardımcı olamaya çalışan herkese çok teşekkür ederim.
    Yasal servis sağlayıcı mı bilmiyorum ama şurası var, https://kimlikapi.com/kullanim-kosullari
    "İşbu Kullanım Koşulları ("Sözleşme"), Antandros Teknoloji A.Ş. ("Hizmet Sağlayıcı") "

    Arayıp bilgi teyit vs alabilirsiniz. Böyle bir hizmeti bukadar açık public şekilde servis edemezlerdi sanırım illegal olsa
  • Dün, 12:26:16
    #15
    https://tc-no.com/tc-no-dogrula

    Böyel bir site var tc doğrulyor
  • Dün, 12:36:06
    #16
    function validateTc($tc) {
        $tc = (string)$tc;
        
        // 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
        if (strlen($tc) !== 11 || !ctype_digit($tc) || $tc[0] === '0') {
            return false;
        }
    
        $sumOdds = $tc[0] + $tc[2] + $tc[4] + $tc[6] + $tc[8]; // 1, 3, 5, 7, 9. haneler (indis: 0, 2, 4, 6, 8)
        $sumEvens = $tc[1] + $tc[3] + $tc[5] + $tc[7];         // 2, 4, 6, 8. haneler (indis: 1, 3, 5, 7)
        
        // 10. Hane kontrolü
        $digit10 = (($sumOdds * 7) + ($sumEvens * 9)) % 10;
        if ((int)$tc[9] !== $digit10) {
            return false;
        }
    
        // 11. Hane kontrolü
        $sumFirst10 = 0;
        for ($i = 0; $i < 10; $i++) {
            $sumFirst10 += (int)$tc[$i];
        }
        
        $digit11 = $sumFirst10 % 10;
        if ((int)$tc[10] !== $digit11) {
            return false;
        }
    
        return true;
    }
    def validate_tc(tc):
        tc = str(tc)
        
        # 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
        if len(tc) != 11 or not tc.isdigit() or tc[0] == '0':
            return False
    
        digits = [int(d) for d in tc]
    
        sum_odds = sum(digits[0:9:2]) # 1, 3, 5, 7 ve 9. hanelerin toplamı (indisler: 0, 2, 4, 6, 8)
        sum_evens = sum(digits[1:8:2]) # 2, 4, 6 ve 8. hanelerin toplamı (indisler: 1, 3, 5, 7)
        
        # 10. Hane kontrolü
        digit_10 = ((sum_odds * 7) + (sum_evens * 9)) % 10
        if digits[9] != digit_10:
            return False
    
        # 11. Hane kontrolü
        digit_11 = sum(digits[:10]) % 10
        if digits[10] != digit_11:
            return False
    
        return True

    function validateTc(tc) {
        tc = String(tc);
    
        // 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
        if (!/^[1-9][0-9]{10}$/.test(tc)) {
            return false;
        }
    
        const digits = tc.split('').map(Number);
    
        const sumOdds = digits[0] + digits[2] + digits[4] + digits[6] + digits[8]; // 1, 3, 5, 7, 9. haneler
        const sumEvens = digits[1] + digits[3] + digits[5] + digits[7];            // 2, 4, 6, 8. haneler
    
        // 10. Hane kontrolü
        const digit10 = ((sumOdds * 7) + (sumEvens * 9)) % 10;
        if (digits[9] !== digit10) {
            return false;
        }
    
        // 11. Hane kontrolü
        const digit11 = digits.slice(0, 10).reduce((acc, val) => acc + val, 0) % 10;
        if (digits[10] !== digit11) {
            return false;
        }
    
        return true;
    }
    bu kodlar yukarıdaki arkadaşın söylediği algoritmaya uygun şekilde hazırlanmıştı hocam değerlendiebilirsiniz.
  • Dün, 15:19:25
    #17
    Şuna isim koymasalar 10 numara olur ama captcha var oda ayrı sorun.
  • Dün, 15:20:12
    #18
    AI işçisi
    Burakaltinkaya adlı üyeden alıntı: mesajı görüntüle
    Şuna isim koymasalar 10 numara olur ama captcha var oda ayrı sorun.
    Bazi sekillerde cozuluyor 😂