Captcha PHP: приклад скрипта

280 0 Новини високих технологій

Captcha PHP являє собою програму, яка використовується для перевірки того, що людина, а не комп'ютер, вводить дані. Капчі зазвичай відображаються в кінці онлайн-форм і просить користувача ввести текст із спотвореним зображенням. Текст на зображенні може маскуватися спотвореним шрифтом, хвильовими і зигзагоподібними лініями і автоматична програма розпізнавання не може його виявити. Деякі Captcha PHP включають в себе функцію аудіального вимови. Тести Captcha можуть зупинити 90% хакерських атак, заблокувавши програмне забезпечення робота і обмеживши відправку онлайн-запитів.


Captcha PHP: приклад скрипта

Визначення

Captcha PHP — це система реагування на виклики, призначена для диференціації людей і роботизованих програм. Капча використовується в якості перевірок безпеки для запобігання спамерів і хакерів від використання форм на веб-сторінках для вставки шкідливого коду.

Специфікація

Капча — це тип заходи безпеки, відомий як аутентифікація запиту-відповіді. Дане рішення допомагає захистити користувача від розшифровки спаму і пароля, попросивши виконати простий тест, який доведе, що це людина, а не комп'ютер, який намагається проникнути в захищену паролем облікового запису. Тест captcha складається з двох простих частин: випадкової послідовності букв або цифр, які відображаються як спотворене зображення, і текстового поля. Щоб пройти тест і довести свою людську ідентичність, просто введіть символи, які ви бачите на зображенні, в текстовому полі.

Історія

Потреба в Captcha PHP народилася ще в 1997 році. У той час пошукова система AltaVista шукала спосіб блокувати автоматичне розміщення URL-адрес на платформі, яка спотворювала алгоритми ранжирування пошукової системи. Щоб вирішити цю проблему, Андрій Бродер, головний вчений AltaVista, розробив алгоритм, який випадково генерував зображення друкованого тексту. Хоча комп'ютери не могли розпізнати зображення, люди могли читати повідомлення, що містить зображення і відповідає відповідним чином. Бродер і його команда отримали патент на цю технологію у квітні 2001 року.


Captcha PHP: приклад скрипта
У 2003 році Ніколас Хоппер, Мануель Блум, Луїс фон Ан з Університету Карнегі-Меллона і Джон Ленгфорд з IBM розробили алгоритм і придумали термін Captcha. Ім'я означає абсолютно автоматизований тест Тюрінга публічного застосування для диференціації людей машин.

PHP

PHP — це мова сценаріїв і інтерпретатор, який знаходиться у вільному доступі і використовується в основному на веб-серверах Linux. PHP виконується на сервері, а клієнт запускається порівнянна альтернатива javascript. Дана мова програмування є альтернативою технології Microsoft Active Server Page (ASP). Як і в ASP, PHP-скрипт Captcha вбудовується в веб-сторінку разом з HTML-кодом. Перед відправкою сторінки користувачеві веб-сервер викликає PHP для інтерпретації та виконання операцій, викликаних в скрипті. HTML-сторінці, що містить PHP-скрипт, зазвичай присвоюється суфікс імені файлу .php - «.php7» або «.phtml». PHP можна розглядати як «динамічні HTML-сторінки, оскільки контент буде залежати від результатів інтерпретації сценарію.
Мова безкоштовний і використовується за ліцензією з відкритим вихідним кодом. Велика частина запозичена з синтаксису інших мов, але PHP має ряд унікальних і спеціальних функцій, наприклад, . PHP відмінно підходить для створення веб-сайтів, керованих базами даних.
Captcha PHP: приклад скрипта

Як працює Captcha на PHP

Captcha — це свого роду тест Тьюринга. Суть полягає в тому, що кінцевим користувачам пропонується виконати деякі завдання, які програмний бот виконати не зможе. Тести часто пов'язані із зображеннями JPEG або GIF, тому що, хоча боти і можуть ідентифікувати наявність зображення, читаючи вихідний код, вони не можуть розпізнати зміст картинки. Оскільки деякі зображення важко інтерпретувати, користувачам зазвичай надається можливість запросити новий тест.

Класифікація

Найбільш поширеним типом є текст, який вимагає від користувача перегляду спотвореної рядка буквено-цифрових символів в зображенні і введення символів прикріпленої формі. Текст капчі також може транслюватися в аудіозаписі в форматі MP3 для задоволення потреб людей з вадами зору. Як і у випадку з зображеннями, боти можуть виявляти наявність аудіофайлу, але тільки людина може чути й розпізнавати інформацію, що міститься у файлі. Розпізнавання зображень Captcha в PHP, які також широко використовуються, просять користувачів ідентифікувати набір картинок у великому наборі зображень. Наприклад, користувачеві може бути представлений набір іконок, і пропонується натиснути на ті, в яких є автомобілі. Інші типи Captcha включають:
  • Math Captcha — вимагає від користувача вирішення основної математичної задачі, такий як додавання або віднімання двох чисел.
  • 3D Super Captcha — тут користувач повинен ідентифікувати зображення, що відображається в 3D.
  • I'm Not a Robot — у цьому типі капчі користувач повинен встановити прапорець.
  • Marketing — вимагає від користувача введення певного слова або фрази, що відноситься до бренду спонсора.
  • Обхід капчі: огляд останніх розширень

    Користувачі можуть використовувати розширення з надбудов браузера, які дозволяють користувачам обходити введення капчі. Популярні додаткові компоненти браузера включають AntiCapture, Captcha Be Gone та Rumola.
    Captcha PHP: приклад скрипта
    Автоматичний плагін AntiCaptcha для Chrome і Firefox автоматично знаходить plugins captcha recaptcha recaptcha php на веб-сторінці і обробляє її для користувача. Додаток не безкоштовне: на момент написання цієї статті вартість послуги починається з 070 долара за 1000 зображень Captcha. Розширення Captcha Be Gone виявляє капчу на веб-сторінках, обробляє її і копіює результат в буфер обміну користувача. На даний час утиліта доступна для браузерів Firefox, Chrome і Internet Explorer за передплату в розмірі 350 доларів США в місяць. Додаток Rumola для Firefox, Chrome і Safari автоматично шукає Captcha на веб-сторінках, які відвідує користувач. В даний час вартість складає 095 $ для 50 зображень капчі або 195 $ для 150 рішень. У даного розробника також є букмарклет javascript, який можна використовувати для пристроїв, що підключаються до Інтернету. Оскільки надбудови обходу капчі створюються третіми особами, кінцеві користувачі повинні знати, що розширення браузера може показувати активність перегляду ненадійним джерел і піддавати ризику компрометації дані користувача. Ще одна причина не використовувати обхід капчі полягає в тому, що продуктивність розширень і рівень створення капчі несумісні. Це пов'язано насамперед з тим, що, оскільки боти стають більш розумними, методи створення капчі також розвиваються, і встановлені плагіни можуть перестати справлятися зі своїм завданням.
    Captcha PHP: приклад скрипта

    Як відкрити Captcha PHP: приклад

    Представлений нижче код показує, як створити просту графіку Captcha з випадковими рядками і цифрами і як включити її в HTML-форму для запобігання автоматичної подачі шкідливих скриптів. Також це допоможе відповісти на питання: як відкрити plugins captcha recaptcha recaptcha php? Наступний код необхідно зберегти як окремий файл PHP (ми називаємо його Captcha /php). Цей файл створює PNG-зображення, що містить серію з п'яти цифр. Він також зберігає ці цифри змінної сеансу, щоб інші скрипти могли знати, що таке правильний код, і перевірити правильність введення. Приклад Captcha PHP script Результат цього скрипта виглядає як картинка з рандомным підбором числових значень, які користувач повинен ввести в поле для введення. Отримане в результаті обробки скрипта (Captcha PHP ajax) зображення повинно бути важким для «роботів», але максимально простим для людей. При бажанні ви можете ускладнити графіком, додавши кольору або текстури, або використовуючи різні шрифти і ефект обертання.
    Captcha PHP: приклад скрипта

    Альтернативні схеми

    У зв'язку з тим, що різновиди капчі, засновані на спотворення тексту, уразливі для атак, деякі дослідники запропонували альтернативні рішення, включаючи розпізнавання зображень, які вимагають від користувачів ідентифікації простих об'єктів на картинках. Аргумент на користь цих схем полягає в тому, що задачі розпізнавання об'єктів виконувати складніше, ніж розпізнавання тексту, отже, стійкість до атак у цієї категорії капч вище. Ось деякі з визначних альтернативних схем:
  • Компанія Chew опублікувала свою роботу на 7-й Міжнародній конференції з інформаційної безпеки ISC'04 запропонувавши три різні версії розпізнавання образів капчі, і підтвердила цю гіпотезу за допомогою власних досліджень.
  • Організація Datta опублікувала свою роботу на конференції ACM Multimedia '05 під назвою IMAGINATION, пропонуючи систематичний спосіб розпізнавання зображень Captcha. Картинки викривляються таким чином, що сучасні підходи до розпізнавання зображень (які є потенційними технологіями атаки) не розпізнають їх.
  • Інженери ІТ-гіганта Microsoft (Джеремі Елсон, Джон Р. Дузер, Джон Хауелл і Джаред Саул) розробили розпізнавання зображень видів тварин для обмеження доступу (ASIRRA), які просять користувачів розрізняти кішок і собак. У Microsoft була бета-версія цього рішення для використання веб-сайтами. Тести показали, що люди успішно розпізнавали зображення 996% випадків за 30 секунд. Це рішення було описано в документі 2007 року до матеріалів 14-й конференції ACM з безпеки комп'ютерів і комунікацій (CCS).
  • У чому різниця між Captcha і reCaptcha?

    Captcha — це тест на перевірку особи (зазвичай це розмиті літери, які необхідно розшифрувати), використовуються багатьма сайтами для запобігання спаму. ReCaptcha — це зворотна Captcha. Той же тест, який використовується не тільки для запобігання спаму, але і для допомоги в проекті по цифровому виданню. Іншими словами, тести Recaptcha — це не безглузда комбінація слів, а витяги з книг, в той час як Captcha використовує кілька методів перевірки особистості, включаючи математичні або загальні питання, візуальні і шахові головоломки. В даний час reCaptcha є найбільш популярною реалізацією.
    Captcha PHP: приклад скрипта

    Застосування

    Хоча капча не є безумовним засобом перевірки автентичності, його використання може бути дуже ефективним у таких випадках:
  • Перерахування (форми реєстрації або скидання пароля часто уразливі для атак зловмисників — без Captcha хакер може отримати справжні імена користувачів, номери телефонів або будь-яку іншу конфіденційну інформацію за короткий час).
  • Автоматична відправка багатьох запитів GET/POST за короткий час, коли це небажано (наприклад, отримання SMS/MMS/електронної пошти). В даному випадку Captcha забезпечує функцію обмеження швидкості.
  • Автоматичне створення облікового запису, яка повинна використовуватися тільки людьми (наприклад, створення облікових записів електронної пошти, зупинка спаму).
  • Автоматичне розміщення постів у блогах, форумах і вікі-ресурсах.
  • Будь-які автоматичні атаки, які в масовому порядку отримують або зловживають конфіденційною інформацією з додатка.
  • Використання Captcha в якості захисту від межсайтовой підробки запиту не рекомендується, так як існують більш сильні контрзаходи.