שימוש ב - reCAPTCHA עם PHP

CAPTCHA במחשבים הוא מבחן אתגר מענה (challenge-response) שמטרתו להבטיח שהתשובה אינה מופקת באמצעות מחשב. במנגנון מעורב בדרך כלל מחשב המייצר שאלה אקראית, כזו שלאדם קל לענות עליה אך למחשב קשה מאוד. מבחן CAPTCHA בדרך כלל מבקש מהמשתמש להקליד אותיות או מספרים המופיעים בצורה מעוותת על המסך.

הקלק על התמונה הזו כדי תבדוק איך reCAPTCHA עובד:

כיצד אפשר להשתמש ב - reCAPTCHA בעמוד ווב?

קודם כל תקרא את המדריך הקצר נמצא כאן: Developers' Guide אחר כך תיכנס לאתר הזה עם חשבון Google שלך כדי ליצור את המפתחות - מפתח ציבורי, ומפתח פרטי: Sign up for an API key

בשדה ההזנה "Domain" תכתוב: www.cs.tau.ac.il

אחרי שתצליח ליצור את המפתחות, אתה תוכל לכתוב את הקוד html  שלך (client side). הינה הקוד דוגמה שתציג את תמונת reCAPTCHA:

<html>
  <head>
    <title>Google recapcha demo - Codeforgeek</title>
  </head>
  <body>
    <h1>Google reCAPTHA Demo</h1>
    <form id="comment_form" action="form.php" method="post">
      <div class="g-recaptcha" data-sitekey="===Your Public Key====="></div>
      <input type="submit" name="submit" value="Submit"><br><br>
    </form>
  </body>
</html>
 

  הינה קוד דוגמה שמעבד את תשובת משתמש בתוכנית php (שם הקובץ כמו שמופיע בדוגמה למעלה  form.php):

<?php
        $captcha;
        if(isset($_POST['g-recaptcha-response'])){
          $captcha=$_POST['g-recaptcha-response'];
        }
        if(!$captcha){
          echo '<h2>Please check the the captcha form.</h2>';
          exit;
        }
        $secretKey = "====Your Private Key=====";
        $ip = $_SERVER['REMOTE_ADDR'];
        $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
        $responseKeys = json_decode($response,true);
        if(intval($responseKeys["success"]) !== 1) {
          echo '<h2>You are spammer ! Get the out</h2>';
        } else {
          echo '<h2>Thanks for posting comment.</h2>';
        }
?>
 

 

ויקיפדיה - CAPTCHA