Сегодня мы поговорм о том, как разместить на своем сайте проверочный тест CAPTCHA от Google (ReCaptcha). Процедура это достаточно простая, тем более есть готовые наборы библиотек на разных языках, в том числе и на PHP…
Для начала нам нужно зарегистрироваться на сайте Google. (Сделать это можно тут: http://www.google.com/recaptcha).
Примечание: Вышла запись о том как как добавить ReCAPTCHA 2 на сайт
Вторым этапом мы должны получить два ключа для нашего сайта: открытый и закрытый. Сделать это можно перейдя по вкладке «MY ACCOUNT» и далее по большой красной кнопке «Add a New Site».
На открывшейся странице необходимо ввести адрес Вашего сайта, если Ваш сайт находится в зоне «.РФ«, то необходимо указать Punycode Вашего адреса (например: xn—-dtbhahfcg8aebgjccv2aeek.xn--p1ai). Узнать пуни(пани) код можно здесь: http://www.charset.org/punycode.php.
Указав адрес своего сайта мы нажимаем на кнопку «Create Key». После этого мы видим страницу с параметрами для нашего сайта. Нас интересует следующие два поля:
Public Key: <ВАШ КОД> Private Key: <ВАШ КОД>
Теперь для простоты скачаем библиотеку для PHP отсюда.
Для примера использования ReCaptcha создадим файл php со следующим содержимым:
require_once('recaptchalib.php');
$publickey = ""; //Ваш Паблик Ключ
$privatekey = ""; //Ваш Приват Ключ
$error = null;
if ($_POST["recaptcha_response_field"])
{
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid)
{
echo "Вы ввели верный код.";
} else
{
$error = $resp->error;
}
}
echo recaptcha_get_html($publickey, $error);