Боротьба зі спамом. Використання PHP і reCAPTCHA
Отже, якщо ви читає цей пост, то швидше за все поділяєте загальну думку, що спам - це вселенське зло! Боротьба зі спамом ціла наука і один із способів захисту - це капча.
reCaptcha - це безкоштовний сервіс захисту сайтів від ботів. Виглядає воно ось так:
Плюси даного сервісу:
- Безкоштовність, як вже говорилося вище, напевно самий важливий параметр
- Безпека, до цих пір цей сервіс ЩЕ не зламали;)
- Доступність для сліпих. reCaptcha пропонує звукову версію (а як власне сліпий знайде капчу? та й взагалі, що сліпа людина буде "дивитися" в інтернеті?)
- Популярність. Дуже сумнівний, але все ж в плюс. Каже про визнання.
На даний момент доступні бібліотеки для роботи з reCaptcha для PHP, ASP.NET, Python, Perl, Ruby, Java, JSP і ColdFusion. Також вже написано багато плагінів для захисту форм для різних движків: WordPress, Drupal, Joomla, TYPO3, phpBB, vBulletin і т.д. Детальніше тут.
Але нас цікавить як вмонтувати reCaptcha у свої php програми.
- По-перше нам знадобиться свій ключ для api. Чапаєв за посиланням , реєструємося і отримуємо ... ключі)
- Качаємо бібліотеку для роботи з recaptcha. Розпаковуємо архів, файл recaptchalib.phpкидаємо в одну папку з проектом.
- Для того щоб відобразити капчу пишемо такий код:
require_once ('recaptchalib.php'); $ Publickey = "...";// publickey, який отримали на recaptcha.net echo recaptcha_get_html ($ publickey);
- У скрипті в який ми відправляємо дані, повинен бути такий код перевірки:
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, так тримати!