آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

گوگل جدیدا سرویس تشخیص اسپمر های خود یا همان Google reCaptcha قدیمی را نونوار کرده است و دیگر از کدهای درهم و پیچ خورده و ناخوانا خبری نیست . فقط کافی است یک تیک بزنید و قضیه تمام است

آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

ثبت وبسایت و دریافت Secret Code

سایت خود را در Google reCaptcha به ثبت کنید .برای این کار به این آدرس مراجعه کنید.

به حساب جیمیل تان وارد شوید و سپس فرم زیر را تکمیل نمایید

آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

بعد از تکمیل و ارسال فرم بالا گوگل دو مورد مهم را برای شما نشان می دهد :

  • Site key
  • Secret key

قرار دادن reCaptcha در سایت شما

برای اینکه کپتچا در سایت شما فعال شود باید هم در سمت کاربر و هم در سمت سرور تغییراتی ایجاد کنید . در سمت کاربر فایل HTML را باز کرده و کد زیر را قبل از تگ پایانی <head> قرار دهید :

<script src=’http://www.google.com/recaptcha/api.js?hl=fa’></script>

و برای اینکه ویجت سرویس مربوطه در داخل فرم نمایش یابد باید کد زیر را در فرم قرار دهید :

 

<div class=“g-recaptcha” data-sitekey=“== Your site Key ==”></div>

هنگامی که فرم ارسال می شود یک مقدار با نام “g-recaptcha-response” به سمت سرور ارسال می گردد که می توانید از آن برای تشخیص اینکه کاربر تیک کپچا را زده است یا خیر استفاده کنید .

ایجاد یک فرم ارسال نظر با استفاده از reCaptcha

<html>
  <head>
    <title>Google recapcha demo – Codeforgeek</title>
    <script src=‘https://www.google.com/recaptcha/api.js’></script>
  </head>
  <body>
    <h1>Google reCAPTHA Demo</h1>
    <form id=“comment_form” action=“form.php” method=“post”>
      <input type=“email” placeholder=“Type your email” size=“40”><br><br>
      <textarea name=“comment” rows=“8” cols=“39”></textarea><br><br>
      <input type=“submit” name=“submit” value=“Post comment”><br><br>
      <div class=“g-recaptcha” data-sitekey=“=== Your site key ===”></div>
    </form>
  </body>
</html>
این کدها فرم زیر را تولید می کنند:

آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

در سمت سرویس دهنده از زبان PHP استفاده می کنیم و داده هایی را که توسط فرم ارسال شده اند و در داخل متغیر سراسری $_POSTهستند را چک می کنیم

<?php

$email;$comment;$captcha;
if(isset($_POST[’email’])){
$email=$_POST[’email’];
}if(isset($_POST[‘comment’])){
$email=$_POST[‘comment’];
}if(isset($_POST[‘g-recaptcha-response’])){
$captcha=$_POST[‘g-recaptcha-response’];
}
if(!$captcha){
echo ‘<h2>Please check the the captcha form.</h2>’;
exit;
}
$response=file_get_contents(“https://www.google.com/recaptcha/api/siteverify?secret=YOUR SECRET KEY&response=”.$captcha.”&remoteip=”.$_SERVER[‘REMOTE_ADDR’]);
if($response.success==false)
{
echo ‘<h2>You are spammer ! Get the @$%K out</h2>’;
}else
{
echo ‘<h2>Thanks for posting comment.</h2>’;
}
?>

همانطور که می بینید در کد بالا اطلاعات مربوطه را به آدرس سرویس recaptcha ارسال می کنیم و اطلاعات دریافتی از گوگل را که به صورت jsonهستند چک می کنیم تا مطمئن شویم کاربر اسپمر نیست

$response=file_get_contents(“https://www.google.com/recaptcha/api/siteverify?secret=YOUR SECRET KEY&response=”.$captcha.”&remoteip=”.$_SERVER[‘REMOTE_ADDR’]);

منبع

2 thoughts on “آموزش استفاده آسان از Google reCaptcha فارسی در کد PHP جهت جلوگیری از اسپم

  • By علی - Reply

    سلام. چجوری میشه از مثل شما از نسخه فارسیش استفاده کنیم؟

Leave a Reply

Your email address will not be published. Required fields are marked *
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>