За да бъдат спрени опитите на различни ботове да разбият нашите пароли или да ги нулират, добра идея е да се използва „captcha“, за да се уверим, че „задкомпютърното устройство“ е човек.
Captcha е изображение на някакъв текст. Много често изображението е деформирано или „повредено“ с използването на различни щрифтове или насложени изображения, като целта е да бъдат максимално затруднени OCR програмите, използвани от ботовете.
Можем да използваме собствени скриптове за генериране на изображения или да използваме готови решения.
Версия 1.10 предлага изображение, сканирано от стари книги. За потребителите, които имат проблеми със зрението, се предлага звуков съпровод от стари радио шоу програми като алтернативен начин на разпознаване.
Версия 1.11 предлага нова визия на изображението - трябва да се маркира чекбокс срещу съобщението „Аз не съм робот“.
При безплатната регистрация се издават частен и публичен ключ. Публичният ключ е за връзката между Google и потребителите на сайта ни, а частният - за нашата връзка. Тези ключове трябва да се дефинират в свободно предоставяният от Google .php скрипт.
Наскоро от фирмата спряха някои услуги или смениха адресите, на които те са достъпни. За съжаление това не е отразено в скрипта. Разликата между съответните файлове във версия 1.10 и 1.11 е:
[root@angie-desktop ww.incs]# diff ./recaptcha-php-1.10/recaptchalib.php ./recaptcha-php-1.11/recaptchalib.php
7c7
< * http://recaptcha.net/api/getkey
---
> * https://www.google.com/recaptcha/admin/create
38,40c38,40
< define("RECAPTCHA_API_SERVER", "http://api.recaptcha.net");
< define("RECAPTCHA_API_SECURE_SERVER", "https://api-secure.recaptcha.net");
< define("RECAPTCHA_VERIFY_SERVER", "api-verify.recaptcha.net");
---
> define("RECAPTCHA_API_SERVER", "http://www.google.com/recaptcha/api");
> define("RECAPTCHA_API_SECURE_SERVER", "https://www.google.com/recaptcha/api");
> define("RECAPTCHA_VERIFY_SERVER", "www.google.com");
109c109
< die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
---
> die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
155c155
< die ("To use reCAPTCHA you must get an API key from <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
---
> die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
172c172
< $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/verify",
---
> $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
203c203
< return "http://recaptcha.net/api/getkey?" . _recaptcha_qsencode (array ('domain' => $domain, 'app' => $appname));
---
> return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname));
233c233
< "you can do so at <a href='http://mailhide.recaptcha.net/apikey'>http://mailhide.recaptcha.net/apikey</a>");
---
> "you can do so at <a href='http://www.google.com/recaptcha/mailhide/apikey'>http://www.google.com/recaptcha/mailhide/apikey</a>");
240c240
< return "http://mailhide.recaptcha.net/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail);
---
> return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail);
265c265
< * http://mailhide.recaptcha.net/apikey
---
> * http://www.google.com/recaptcha/mailhide/apikey
|
Както забелязваме, разликата е основно в адресите на услугите. Когато използваме recaptchalib.php от версия 1.11 вместо очакваната форма за автентикация получаваме празна страница.
Решението? Прилагаме съветите от страницата на reCAPTCHA - добавяме в <HEAD> секцията
<script src='https://www.google.com/recaptcha/api.js'></script>
|
и на мястото във формата, където трябва да се появи избражението
<div class="g-recaptcha" data-sitekey="my-given-site-key"></div>
|
НО използваме recaptchalib.php от по-старата, 1.10, версия.
Успех!
Добра публикация! Ето още по темата за инсталиране на reCaptcha 2 с актуални изображения https://ganmax.com/kak-se-instalira-kapcha-recaptcha-2-v-uebsayt/
ОтговорИзтриване