• 12-01-2024, 05:34:06
    #1
    Merhaba birçok sitede paylaşılmış fakat kimi eksik kimi hatalı yapmak istediğim recaptcha v2 onay işlemi

    <form action="kaydet.php" method="post">
    <input type="text" name="ad">
    <input type="submit" value=kaydet">
    </form>

    Bir çok örneği denedim kiminde sayfa post ediliyor ama onay kutusu seçilmeden. Bu forma nasıl uygularım.!

    Acaba yardımcı olabilecek kimse varmı yada elinde hazır kod olan.
  • 12-01-2024, 05:46:57
    #2
    alpskrtl adlı üyeden alıntı: mesajı görüntüle
    Merhaba birçok sitede paylaşılmış fakat kimi eksik kimi hatalı yapmak istediğim recaptcha v2 onay işlemi

    <form action="kaydet.php" method="post">
    <input type="text" name="ad">
    <input type="submit" value=kaydet">
    </form>

    Bir çok örneği denedim kiminde sayfa post ediliyor ama onay kutusu seçilmeden. Bu forma nasıl uygularım.!

    Acaba yardımcı olabilecek kimse varmı yada elinde hazır kod olan.

    yapay zekaya sordum böyle bir şey verdi belki işine yarar diyerekten atıyorum
    HTML
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>reCAPTCHA Form</title>
        <!-- reCAPTCHA script -->
        <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    </head>
    <body>
    
    <form action="kaydet.php" method="post">
        <label for="ad">Ad:</label>
        <input type="text" name="ad" id="ad" required>
        
        <!-- reCAPTCHA widget -->
        <div class="g-recaptcha" data-sitekey="YOUR_RECAPTCHA_SITE_KEY"></div>
    
        <input type="submit" value="Kaydet">
    </form>
    
    </body>
    </html>
    PHP

    <?php
    // reCAPTCHA anahtarları
    $siteKey = 'YOUR_RECAPTCHA_SITE_KEY';
    $secretKey = 'YOUR_RECAPTCHA_SECRET_KEY';
    
    // Kullanıcıdan gelen reCAPTCHA yanıtı
    $captchaResponse = $_POST['g-recaptcha-response'];
    
    // reCAPTCHA doğrulama URL'si
    $verificationURL = 'https://www.google.com/recaptcha/api/siteverify';
    
    // Doğrulama verileri
    $verificationData = array(
        'secret' => $secretKey,
        'response' => $captchaResponse,
        'remoteip' => $_SERVER['REMOTE_ADDR']
    );
    
    // Doğrulama isteği oluştur
    $curl = curl_init($verificationURL);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($verificationData));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    
    // Doğrulama yanıtını al
    $response = curl_exec($curl);
    $responseData = json_decode($response, true);
    curl_close($curl);
    
    // reCAPTCHA doğrulama başarılı ise devam et, değilse hata mesajı göster
    if ($responseData['success']) {
        // reCAPTCHA doğrulama başarılı, form verilerini işle
        $ad = $_POST['ad'];
        // Diğer form işlemlerini burada gerçekleştir...
    
        echo "Form başarıyla gönderildi.";
    } else {
        // reCAPTCHA doğrulama başarısız, hata mesajı göster
        echo "reCAPTCHA doğrulama başarısız.";
    }
    ?>
  • 12-01-2024, 05:54:30
    #3
    Cevabınız için teşekkür eder özür dileyerek şunu sormak istiyorum aynı sayfada işlemi nasıl yapabilirim yani her iki işlemi aynı sayfada yapmak istiyorum
  • 12-01-2024, 05:56:49
    #4
    alpskrtl adlı üyeden alıntı: mesajı görüntüle
    Cevabınız için teşekkür eder özür dileyerek şunu sormak istiyorum aynı sayfada işlemi nasıl yapabilirim yani her iki işlemi aynı sayfada yapmak istiyorum
    valla bildiğim bir konu değil. ama gün içinde birisi çıkar illaki.
  • 12-01-2024, 05:59:13
    #5
    Javascript kodu ile post edip doğrulama yapabilirsin bu sayede işlemleri aynı sayfada yapmış olursun.
  • 12-01-2024, 12:18:26
    #6
    merhaba , hitiniz çok yüksek değilse, saldırı almıyorsanız recaptcha gibi ağır bir külfete gerek yok. daha kullanışlı alternatifler mevcut. düşünürseniz recaptcha veya alternatifini yazabilir uygun fiyata entegre edebilirim. Ajax ilede sayfa değişmeden post edilebilecek şekilde.
    kendi sitem için uyguladığım bir örnek: https://l24.im/yt3zKoD