کپچا reCAPTCHA یکی از پرکاربردترین موارد امنیت در ایجاد وب سایت هاست. کپچا به خودی خود به اندازه کافی برای کاربران آزاردهنده است. حال فرض کنید که خوانایی کافی را هم نداشته باشد. اما متاسفانه این راه بهترین راه برای جلوگیری از اسپم هاست.
خیلی از متن ها و شماره ها با اینکه خواندنشان حتی برای انسان ها هم سخت است، هوش مصنوعی مدرن مشکل زیادی در حل آنها ندارد. حتی گوگل هم برای خواندن پلاک ها و علائم رانندگی در Google Street View اینکار را انجام می دهد.
اما نکته قابل توجه اینه که توسعه دهنگان گوگل بهترین کد کپچا No CAPTCHA reCaptcha را در سال 2014 تولید کردند که نیاز به خواندن هیچ متن پیچیده ای ندارد و تنها کاری که باید انجام دهید یک کلیک و یا زدن کلید Space است.
در اکثر مواقع انجام همین کار کافی است اما اگر ربات گوگل بازهم از انسان بودن شما مطمئن نشود یک متن برای تایپ به شما نشان خواهد داد.
اما اگر دستگاه کاربر موبایل یا تبلت باشد کپچا مخصوص این دستگاه ها به آنها نمایش داده میشود. این کپچا به این صورت است که کاربر باید عکس های مرتبط با عکس انتخاب شده را انتخاب کند که برای کاربران موبایل بسیار مناسبتر است.
دریافت No CAPTCHA reCAPTCHA
قدم اول:
در ابتدا ما به یک API Key نیاز داریم. برای گرفتن API Key به این آدرس بروید.
پس از وارد شدن به این آدرس ابتدا باید وارد حساب گوگلتان شوید. بعد از این از شما می خواهد که سایتی که می خواهید در آن از No CAPTCHA استفاده کنید را ثبت کنید. یک نام دلخواه در فیلدی بالایی و آدرس سایتتان را در فیلد پایینی وارد کنید. توجه کنید که ساب دامین ها بطور خودکار اضافه خواهند شد.
قدم دوم:
بعد از انجام اینکار شما یک Site key و یک Secret key دریافت خواهید کرد.
در ابتدا جاوا اسکریپت No CAPTCHA reCAPTCHA را فراخوانی کنید.
<
div
class
=
"g-recaptcha"
data-sitekey
=
"6LcePAATAAAAAGPRWgx90814DTjgt5sXnNbV5WaW"
></
div
>
data-theme="dark"
تم کد کپچا را تیره می کند.استفاده از کد کپچا
قدم اول:
<!DOCTYPE html> <html lang="en"> <head> <title>How to Integrate Google “No CAPTCHA reCAPTCHA” on Your Website</title> </head>
<body>
<form action="" method="post"> <label for="name">Name:</label> <input name="name" required><br /> <label for="email">Email:</label> <input name="email" type="email" required><br /> <div class="g-recaptcha" data-sitekey="6LcePAATAAAAAGPRWgx90814DTjgt5sXnNbV5WaW"></div> <input type="submit" value="Submit" /> </form>
<!--js--> <script src='https://www.google.com/recaptcha/api.js'></script> </body> </html>
<?php foreach ($_POST as $key => $value) { echo '<p><strong>' . $key.':</strong> '.$value.'</p>'; } ?>
<?php // grab recaptcha library require_once"recaptchalib.php"; ?>
// your secret key $secret= "6LcePAATAAAAABjXaTsy7gwcbnbaF5XgJKwjSNwT"; // empty response $response= null; // check secret key $reCaptcha= newReCaptcha($secret); // if submitted check response if ($_POST["g-recaptcha-response"]) { $response = $reCaptcha->verifyResponse( $_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"] ); }
<?php if ($response != null && $response->success) { echo "Hi " . $_POST["name"] . " (" . $_POST["email"] . "), thanks for submitting the form!"; } else { ?>
<?php } ?>
دیدگاه خود را بیان کنید