• 03-08-2023, 01:36:58
    #1
    Şimdilik geçici bir çözüm buldum iptal teşekkürler
  • 03-08-2023, 01:40:24
    #2
    chatgpt sor o halleder
  • 03-08-2023, 01:43:03
    #3
    framework mu kullanıyorsunuz
  • 03-08-2023, 01:44:38
    #4
    Eğer belirli bir işlevi eklemek veya değiştirmek istiyorsanız, bu işlevi WordPress'in mevcut eylemlerine veya filtrelerine bağlamak gerekir. Repatche, muhtemelen "reCaptcha" olarak atıfta bulunduğunuz güvenlik öğesidir. Bu kod parçasında, parola kurtarma formuna bir reCaptcha eklemek istediğinizi varsayalım.

    reCaptcha ekleme işlemini gerçekleştirelim:

    1. Öncelikle, reCaptcha için Google reCAPTCHA API anahtarlarına ihtiyacınız olacak. Bu anahtarları almak için https://www.google.com/recaptcha adresini ziyaret edebilir ve site için yeni bir reCaptcha ekleyerek anahtarları elde edebilirsiniz.

    2. Daha sonra, `password-recovery-form` adındaki formun içine reCaptcha alanını eklemek için aşağıdaki kodu ekleyin:

    ```php
    <div class="g-recaptcha" data-sitekey="YOUR_RECAPTCHA_SITE_KEY"></div>
    ```

    `YOUR_RECAPTCHA_SITE_KEY` yerine, Google reCAPTCHA'dan aldığınız site anahtarınızı koymalısınız.

    3. Ardından, JavaScript'i reCaptcha ile etkinleştirmek için sayfanıza ekleyin:

    ```html
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    ```

    4. Formunuz şimdi reCaptcha ile görünüyor olmalıdır. Ancak, reCaptcha'yı sunucuya doğrulama işlemi için bir işlev eklemeniz de gereklidir. Bu işlevi `functions.php` dosyanıza veya uygun bir tema dosyasına ekleyebilirsiniz. İşte örnek bir işlev:

    ```php
    // reCaptcha doğrulama işlevi
    function custom_validate_password_recovery($user_login, $errors) {
    if (isset($_POST['g-recaptcha-response'])) {
    $recaptcha_response = sanitize_text_field($_POST['g-recaptcha-response']);
    $secret_key = 'YOUR_RECAPTCHA_SECRET_KEY'; // Google reCAPTCHA'dan aldığınız gizli anahtar
    $response = wp_remote_get("https://www.google.com/recaptcha/api/siteverify?secret={$secret_key}&response={$recaptc ha_response}");
    $response_body = wp_remote_retrieve_body($response);
    $result = json_decode($response_body);

    if (!$result->success) {
    $errors->add('recaptcha_error', __('reCaptcha verification failed.', 'your-theme-textdomain'));
    }
    }
    }
    add_action('lostpassword_post', 'custom_validate_password_recovery', 10, 2);
    ```

    5. `YOUR_RECAPTCHA_SECRET_KEY` yerine, Google reCAPTCHA'dan aldığınız gizli anahtarınızı koymalısınız.

    Bu şekilde, reCaptcha doğrulamasını eklemiş olursunuz. Artık parola kurtarma formunuza reCaptcha eklemiş olacaksınız ve kullanıcılar formu doldururken reCaptcha doğrulamasını tamamlamak zorunda kalacaklar. Doğrulama başarısız olursa, bir hata mesajı gösterilecektir. Lütfen kodu doğru bir şekilde uyarlayarak kullanın ve gerektiğinde temanızın veya eklentinizin mevcut yapılarına entegre edin.

    ---> Mevzu bahis $10 değil hocam chatgpt'den aldım bilginiz olsun.
  • 03-08-2023, 01:48:46
    #5
    Arkadaşlar cevaplar için teşekkürler ama chatgpt bende kullanabiliyorum ve yapamadım o yüzden ödül veriyorum. Sanırım bazı değişkenleri hatalı giriyorum bana böyle kelime kelime anlatacak biri lazım. Teşekkür ederim.
  • 03-08-2023, 01:51:31
    #6
    ok35 adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar cevaplar için teşekkürler ama chatgpt bende kullanabiliyorum ve yapamadım o yüzden ödül veriyorum. Sanırım bazı değişkenleri hatalı giriyorum bana böyle kelime kelime anlatacak biri lazım. Teşekkür ederim.
    hocam teamwiewer verin bi göz atalım
  • 03-08-2023, 01:54:53
    #7
    Üyeliği durduruldu
    Hocam selamlar şunu deneyin lütfen ;
    Google Recaptcha için bir hesap oluşturun ve public/private key'lerinizi alın. Recaptcha kütüphanesini projenize dahil edin. Eğer projenizde yoksa, Composer veya doğrudan kütüphaneyi indirerek projenize ekleyebilirsiniz. Kodunuzu recaptcha doğrulama işlemini yapacak şekilde güncelleyin. Aşağıdaki adımlar size yol gösterebilir:
    Kodun başında recaptcha işlevini çağırmak için gerekli dosyayı içe aktarın:
    phpCopy code

    require_once('/path/to/recaptcha/autoload.php');
    • Formunuzun içinde recaptcha alanını ekleyin:
    phpCopy code
    <div class="g-recaptcha" data-sitekey="YOUR_PUBLIC_KEY"></div>


    Şifre sıfırlama formunuzun submit işlemini işleyen PHP kodunu güncelleyin: php code

    <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Recaptcha doğrulaması yapılacak$recaptcha_secret = 'YOUR_PRIVATE_KEY'; $recaptcha_response = $_POST['g-recaptcha-response']; $remote_ip = $_SERVER['REMOTE_ADDR']; $recaptcha = newReCaptchaReCaptcha($recaptcha_secret); $resp = $recaptcha->verify($recaptcha_response, $remote_ip); if ($resp->isSuccess()) { // Recaptcha doğrulandı, şifre sıfırlama işlemi gerçekleştirilebilir // ... Şifre sıfırlama işlemleri ... } else { // Recaptcha doğrulaması başarısız, hata mesajı gösterebilir veya işlemi durdurabilirsiniz // Örneğin: $errors[] = 'Recaptcha doğrulaması başarısız. Lütfen tekrar deneyin.'; } } ?>
  • 03-08-2023, 02:08:26
    #8
    Şifre sıfırlama isteğine neden captcha koyasın ki ?
  • 03-08-2023, 02:13:46
    #9
    Denedim ama olmadı kodda hatalar var sanırım. Daha basit bir anlatım arıyorum. Teşekkür ederim.

    Cevaplar için teşekkürler farklı denemeler yapıp daha sonra ödülü yükseltip tekrar konu açabilirim.