Боротьба зі спамом. Використання PHP і reCAPTCHA

Отже, якщо ви читає цей пост, то швидше за все поділяєте загальну думку, що спам - це вселенське зло! Боротьба зі спамом ціла наука і один із способів захисту - це капча.

reCaptcha - це безкоштовний сервіс захисту сайтів від ботів. Виглядає воно ось так:

recaptcha

Плюси даного сервісу:

На даний момент доступні бібліотеки для роботи з reCaptcha для PHP, ASP.NET, Python, Perl, Ruby, Java, JSP і ColdFusion. Також вже написано багато плагінів для захисту форм для різних движків: WordPress, Drupal, Joomla, TYPO3, phpBB, vBulletin і т.д. Детальніше тут.

Але нас цікавить як вмонтувати reCaptcha у свої php програми.

  1. По-перше нам знадобиться свій ключ для api. Чапаєв за посиланням , реєструємося і отримуємо ... ключі)
  2. Качаємо бібліотеку для роботи з recaptcha. Розпаковуємо архів, файл recaptchalib.phpкидаємо в одну папку з проектом.
  3. Для того щоб відобразити капчу пишемо такий код:
    require_once ('recaptchalib.php');
    $ Publickey = "...";// publickey, який отримали на recaptcha.net
    echo recaptcha_get_html ($ publickey);
  4. У скрипті в який ми відправляємо дані, повинен бути такий код перевірки:
    require_once ('recaptchalib.php');
    $ Privatekey = "...";// privatekey, який отримали на recaptcha.net
    $ Resp = recaptcha_check_answer ($ privatekey,
                                    $ _SERVER ["REMOTE_ADDR"],
                                    $ _POST ["Recaptcha_challenge_field"],
                                    $ _POST ["Recaptcha_response_field"]);
     
    if (! $ resp-> is_valid) {
      die ("reCAPTCHA введена не коректно. Поверніться та спробуйте ще раз!.".
           "(ReCAPTCHA:". $ Resp-> error. ")");
    }

Власне і все!)

Про функції і змінних це бібліотеки можна детальніше прочитати по посиланням (англ.)

На це все! До нових зустрічей!

Опубліковано: 24/02/11 @ 01:30
Розділ php Безпека

Рекомендуємо:

Створюємо сервіс коротких посилань
Блогу 2! + Session_end!
Це провал! Не чекали? А я повернувся
Способи підвищення юзабіліті форм.
Вийшов WordPress 2.8 Beta 2, так тримати!