• 20-05-2023, 00:37:18
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Web sitesine cloudflare nin Turnstile eklentisiyle doğrulama işlemi ekledim. Aşağıdaki iletişim formununda sayfaya cloudflare turnstile ekledim. Ancak submit post işleminden sonra cloudflare turnstile token doğrulamasını yapamadım. Submit işleminden sonraki cloudflare turnstile token doğrulamasınını nasıl yapacağım? Nasıl bir kod eklenecek?

    Örnek döküman vermişler ama bu dökümanı aşağıdaki sayfama nasıl uyarlayacağımı bilemiyorum.
    https://developers.cloudflare.com/tu...de-validation/

    <?php
    if($_SERVER["REQUEST_METHOD"] == 'POST'){
        echo "Cloudflare doğulaması yapıldı.";
    }else{}
    
    ?>
    <html lang="tr">
    <head>
        <meta charset="utf-8">
        <title>PHP İletişim Formu</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    </head>
    <body>
        <div class="container">
            <h1>PHP İletişim Formu</h1>
            <form method="POST" action="">
                <div class="form-group">
                    <label for="adsoyad">Ad Soyad</label>
                    <input type="text" class="form-control" name="adsoyad" id="adsoyad">
                </div>
                <div class="form-group">
                    <label for="email">E-Posta</label>
                    <input type="email" class="form-control" name="email" id="email">
                </div>
                <div class="form-group">
                    <label for="konu">Mesaj</label>
                    <input type="text" class="form-control" name="konu" id="konu">
                </div>
                <div class="form-group">
                    <div id="myWidget"></div>
                </div>
                <input type="hidden" name="islem" value="gonder" required>
                <button type="submit" class="btn btn-primary">Gönder</button>
            </form>
        </div>
        <script>
            window.onloadTurnstileCallback = function () {
                turnstile.render('#myWidget', {
                    sitekey: '1x00000000000000000000AA',
                    theme: 'light',
                    callback: function(token) {
                        console.log(`Challenge Success ${token}`);
                    },
                });
            };
        </script>
        <!-- JavaScript -->
        <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
        <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback" defer></script>
    </body>
    </html>
  • 20-05-2023, 08:54:08
    #2
    dökümantasyon a göre
    https://challenges.cloudflare.com/tu.../v0/siteverify url sine
    secret, response , remoteip değerleri normal curl ile post etmeniz gerekiyor. formdata olarak istediği için ekstra birşey yapmanız gerek yok.
    secret -> size sitekey ile bereaber secretkey verilir o verilen secretkey
    response -> turnstile load olduktan sonra formunuzda oluşturulan name i repsonse olan inputtur.
    remoteip -> anlaşılacağı üzere kullanıcının ip adresi.

    curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( [
    'secret' => $secretkey,
    'response' => $_POST['response'];
    'remoteip' => $_SERVER['REMOTE_ADDR'],
    ] ) );
    post cevabı json olarak döncektir. curl response u json_decode ile object e veya array e çevirip success değeri true mu değil mi kontrolu yapacaksınız.
    success ise challange tamamdır.
  • 20-05-2023, 11:27:09
    #3
    trgino adlı üyeden alıntı: mesajı görüntüle
    dökümantasyon a göre
    https://challenges.cloudflare.com/tu.../v0/siteverify url sine
    secret, response , remoteip değerleri normal curl ile post etmeniz gerekiyor. formdata olarak istediği için ekstra birşey yapmanız gerek yok.
    secret -> size sitekey ile bereaber secretkey verilir o verilen secretkey
    response -> turnstile load olduktan sonra formunuzda oluşturulan name i repsonse olan inputtur.
    remoteip -> anlaşılacağı üzere kullanıcının ip adresi.

    curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( [
    'secret' => $secretkey,
    'response' => $_POST['response'];
    'remoteip' => $_SERVER['REMOTE_ADDR'],
    ] ) );
    post cevabı json olarak döncektir. curl response u json_decode ile object e veya array e çevirip success değeri true mu değil mi kontrolu yapacaksınız.
    success ise challange tamamdır.
    Söylediğiniz işlemleri sayfa üzerinde uygulayamadım. Sayfa üzerinden ekleyerek çalışan bir örneğini nasıl yapabiliriz.