Обикновено, когато чуят думата “спам”, повечето хора се сещат за непоисканите имейли, в които някой предлага един милион долара или различни лекарствени продукти. За съжаление, спамът не се ограничава само с имейли. Ако притежавате уебсайт и хората могат да коментират под статиите в него, може би сте забелязали, че от време на време се появяват случайни коментари с линкове към съмнителни сайтове. Това са спам коментари, които се публикуват от ботове, обхождащи сайта Ви. Ако не искате да спирате коментарите, но искате да държите сайта чист от спам, един от вариантите да направите това е да добавите CAPTCHA. Това важи и ако се тревожите за сигурността на Вашия административен панел и за акаунтите на Вашите клиенти - можете да добавите CAPTCHA на логин страницата.
- Но какво точно е CAPTCHA?
- Видове CAPTCHA
- Според типа задачи
- Според марката
- CAPTCHA
- reCAPTCHA
- hCaptcha
- По-малко популярни алтернативи
- Как да добавите CAPTCHA на сайта си
- Всякакъв тип уебсайт
- WordPress
- Joomla
- Drupal
- OpenCart
- Недостатъците на CAPTCHA
- В заключение
Но какво точно е CAPTCHA?
CAPTCHA е съкращение от Completely Automated Public Turing test to tell Computers and Humans Apart или “напълно автоматизиран публичен тест на Тюринг за разграничаване на компютри от хора”. Както става ясно от името, това е интерактивна задача, която се използва, за да се различни дали даден посетител на сайта е човек, или бот. Различни видове CAPTCHA се използват на много уебсайтове с цел да се спре неупълномощеният достъп до информация, кражбата на данни, автоматизираният трафик и други.
Според вида CAPTCHA посетителите на даден сайт може да трябва да напишат поредица от букви и цифри, да отбележат местоположението на конкретен предмет на изображение и дори да преместят част от изображение на конкретно място. Някои по-сложни видове CAPTCHA използват изкуствен интелект (ИИ), който анализира начина, по който потребителите взаимодействат със сайта. На базата на движението на курсора и на набор от други фактори, които не са публично известни, някои потребители ще трябва да поставят отметка, докато други няма да трябва да правят нищо, ако ИИ прецени, че са реални хора.
Ето някои от предимствата да използвате CAPTCHA:
- Ще намалите количеството спам.
- Ще предотвратите опитите за неупълномощен достъп.
- Ще спрете фалшивите регистрации.
- Ще направите резултатите от онлайн анкети легитимни.
- Ще предотвратите събирането на информация от сайта Ви.
Видове CAPTCHA
CAPTCHA платформите са се развили значително през последните няколко години. Някои компании като Google и Intuition Machines предлагат решения, които могат да се използват от всеки човек и на всеки уебсайт (с малки изключения), докато други компании залагат на собствени разработки.
По-надолу ще намерите информация за различните видове CAPTCHA платформи, които съществуват в зависимост от типа задачи, които предлагат, както и информация за няколко популярни платформи, които можете да използвате на сайта си.
Според типа задачи
Текстови задачи. Това е първият вид CAPTCHA, създаван някога. Една или няколко картинки на думи се зареждат на страницата, а посетителят на сайта трябва да напише думите в текстово поле. Често буквите са разкривени, смесват се малки и главни букви, а може да се добавят и други елементи наред с буквите, което да направи разпознаването им от специализиран софтуер по-трудно. Понякога може да се използват цифри или смесица от букви и цифри.
Изображения. Съществуват много видове CAPTCHA, които използват изображения, тъй като те значително затрудняват решаването им от автоматични ботове, което ги прави предпочитан избор. Те могат да включват избор на конкретно изображение от група изображения, местенето на парче от пъзел, за да се допълни картина или кликването върху различни изображения в конкретна поредност.
Звукови задачи. Този вид CAPTCHA обикновено се използва от хора с нарушено зрение или такива, изпитващи затруднение да разпознаят символите от задачата.
Математически/лингвистични задачи. Включват прости действия с числа или допълването на липсваща дума в изречение.
Анализ на риска. Това е най-модерният вид CAPTCHA. Сложни алгоритми преценяват дали даден посетител е човек, или не, така че повечето посетители на сайта няма да виждат никакви CAPTCHA задачи, докато го разглеждат. Задача може да се появи единствено при попълването на някой формуляр на сайта, но не задължително.
Според марката
CAPTCHA
Споменаваме този вид единствено за пълнота. Оригиналната CAPTCHA платформа е създадена в началото на века. Тя използва извити букви, за които по това време се смята, че са нечетими от компютър. Платформата вече не се използва.
reCAPTCHA
С развитието на автоматичните ботове почти всички CAPTCHA задачи могат да се решават от компютри. Ето защо екипът, стоящ зад тази платформа, създава reCAPTCHA - по-модерна система, която използва оптично разпознаване на символи (optical character recognition, OCR).
- reCAPTCHA v1. Първата версия на платформата използва две OCR програми, които четат текст. Ако някоя дума не е разпозната по еднакъв начин от двете, тя се добавя като reCAPTCHA задача наред с контролна дума. Такава двойка думи се показва на потребителите и ако те разпознаят контролната дума, решението на задачата се приема за вярно. Ако голям брой потребители напишат втората дума по един и същ начин, тя също може да стане контролна дума.
reCAPTCHA е закупена от Google през 2009 г. Технологията се използва за дигитализирането на голям брой стари книги и периодични печатни издания. През 2012 г. освен текст Google започва да показва изображения от платформата си за карти Street View.
- reCAPTCHA v2. Известна също като “No CAPTCHA reCAPTCHA”. Тази платформа е значително подобрена в сравнение с предшествениците си и вместо да използва задачи с текст или изображения, тя анализира поведението на посетителите на сайта. reCAPTCHA v2 използва сложни системи за анализ на риска, създадени от Google. Хората виждат обикновено поле за отметка, но зад него сложен алгоритъм решава дали даден посетител е истински човек, или не. Това е причината автоматичните ботове да не могат да злоупотребяват с платформата, карайки я да мисли, че са хора.
В някои случаи алгоритъмът не може да прецени със сигурност дали даден посетител е човек (анализират се бисквитките в браузъра, историята на посещенията и други, а тези неща не са налични в инкогнито режим, например), така че ще се появи задача, която хората ще трябва да решат. За reCAPTCHA v2 обикновено потребителите трябва да изберат една или няколко картинки, на които е изобразен даден предмет.
- ReCAPTCHA v3. В резултат на развитието на самообучаващ се изкуствен интелект и на употребата на много сложни алгоритми Google представя последното поколение на услугата си през 2018 г. Платформата анализира множество фактори като: начина, по който потребителите използват сайта, IP адреса им, предишните им взаимодействия с CAPTCHA задачи и други, като в резултат на това с голяма точност преценява дали даден посетител е истински човек, или бот. CAPTCHA задача ще се появи единствено, ако алгоритъмът прецени, че сайтът е посетен от бот, докато истинските хора няма да видят никакъв тип задачи. По този начин те ще прекарат по-приятно времето си на сайта, като няма да бъдат прекъсвани по никакъв начин.
hCaptcha
Това е една от най-използваните CAPTCHA платформи на пазара и най-популярната алтернатива на reCAPTCHA. Тя е създадена от Intuition Machines, Inc. hCaptcha предлага задачи с отметка и с изображения, подобно на reCAPTCHA v2. Използва се от Cloudflare, една от най-големите мрежи за доставяне на съдържание. hCaptcha събира по-малко лична информация от конкурента си, създаден от Google, и споделя част от приходите си със собствениците на сайтове, което прави платформата примамлива за много хора.
Някои от предимствата на hCaptcha са, че е безплатна независимо колко пъти се зарежда на сайта Ви, достъпна е в Китай (където много услуги на Google са блокирани) и идва с различни нива на трудност на задачите, от които можете да избирате.
По-малко популярни алтернативи
reCAPTCHA и hCaptcha са най-популярните платформи, но на пазара съществуват и други. Ето някои от тях, а ако имате интерес, можете да ги проучите по-подробно:
MTCaptcha – безплатна платформа с много опции за персонализация, която не събира лична информация. MTCaptcha идва с готови плъгини за голям брой приложения за създаване на сайтове.
BotDetect CAPTCHA – още една алтернативна услуга, подходяща за малки или средни по размер и посещаемост сайтове. Платформата поддържа над сто езика и предлага десетки различни стилове на изображенията от CAPTCHA задачите.
Как да добавите CAPTCHA на сайта си
Ако искате да защитите някой формуляр, като добавите CAPTCHA, обикновено трябва само да копирате няколко реда код. Въпреки това за някои приложения има и по-лесен начин. По-долу ще Ви покажем как можете да добавите няколко от най-използваните CAPTCHA платформи на сайта си. Ще видите и как да добавите CAPTCHA в някои от най-популярните уебприложения за създаване на сайтове.
Всякакъв тип уебсайт
Това е първият начин, който ще споменем, тъй като той е универсален за почти всеки тип уебсайт независимо дали ползвате система за управление на съдържание (CMS), друга платформа, или сайт, чийто код е писан на ръка. Ще трябва единствено да намерите правилния файл или файлове, където да добавите кода, който ще получите от избраната от Вас CAPTCHA платформа.
За да добавите reCAPTHA v2 или reCAPCHA v3, влезте в Google акаунта си и отидете на https://www.google.com/recaptcha/admin. Кликнете на бутона + в горния десен ъгъл, въведете домейна си и вида reCAPTCHA, който искате да използвате. Двойка ключове ще бъдат създадени - частен ключ за сайта и таен ключ, който ще свърже сайта със системата на reCAPTCHA. След това можете лесно да добавите reCAPTCHA към всеки един бутон на сайта, добавяйки следния код:
<script src="https://www.google.com/recaptcha/api.js"></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_site_key"
data-callback='onSubmit'
data-action='submit'>Изпрати</button>
За да добавите hCaptcha, трябва да си отворите безплатен акаунт на hCaptcha.com. Веднага след това ще видите двойката ключове, които са Ви нужни. В head или body частта на страницата от сайта си трябва да добавите следния ред:
<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
След това, добавете следния ред към всеки формуляр, в който искате да излиза hCaptcha (заместете your_site_key с реалния си ключ):
<div class="h-captcha" data-sitekey="your_site_key"></div>
За да потвърдите, че посетителят на сайта е решил задачата правилно и за да получите частта от приходите, които hCaptcha споделят със собствениците на сайтове, трябва да добавите:
<?php
$data = array(
'secret' => "my-secret (should start with 0x..)",
'response' => $_POST['h-captcha-response']
);
$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://hCaptcha.com/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($verify);
// var_dump($response);
$responseData = json_decode($response);
if($responseData->success) {
// your success code goes here
}
else {
// return error to user; they did not pass
}
?>
Да добавите MTCaptcha също е лесно. Когато си направите акаунт на сайта им и влезете в него, ще видите не само двойката ключове, които са подобни на тези, използвани от други CAPTCHA платформи, но и лесен за употреба редактор, чрез който ще можете да променяте различни опции, дизайна и езика на задачите. На същата страница ще видите и демо прозорец, в който в реално време ще се показват промените, които правите, както и кодът, който ще трябва да копирате на сайта си, за да може създаденият от Вас CAPTCHA формуляр да се покаже на сайта Ви.
WordPress
Тъй като повечето функции на сайтове, създадени с WordPress, се добавят чрез плъгини, можете да добавите CAPTCHA по същия начин. За reCAPTCHA v2 или v3 можете да използвате плъгини като: reCaptcha by BestWebSoft, Simple Google reCAPTCHA, или Invisible reCaptcha for WordPress, например. hCaptcha и MTCaptcha имат собствени плъгини, създадени от компаниите, създали самите платформи - hCaptcha for WordPress и MTCaptcha WordPress Plugin. Ще трябва да въведете съответните ключове за платформата, която искате да използвате и да изберете къде точно на сайта да излизат CAPTCHA задачите.
Ако желаете, ще можете да изберете и CAPTCHA платформа, създадена специално за WordPress, като добавите Really Simple CAPTCHA или Captcha Code например. Предимството на този вариант е, че няма да се налага да се регистрирате на отделен сайт и ще можете да управлявате всички настройки директно от административния панел на WordPress.
Joomla
Платформата идва с вградена поддръжка на reCAPTCHA v2 и v3. Ако отидете на Extensions -> Plugins в административния панел на Joomla, ще трябва единствено да въведете двата ключа, предоставени Ви от Google. От System -> Global configuration ще можете да изберете коя CAPTCHA платформа да се използва по подразбиране от всички модули, които сте активирали. По същия начин можете да добавите и активирате и модул за hCaptcha.
Drupal
Ще трябва да свалите предварително модул, който ще Ви е необходим: https://www.drupal.org/project/captcha. Можете да го активирате от административния панел на Drupal -> Extend -> Add new module. След това можете да добавите hCaptcha: https://www.drupal.org/project/hcaptcha, MTCaptcha: https://www.drupal.org/project/mtcaptcha или reCAPTCHA: https://www.drupal.org/project/recaptcha от същата секция. Активирайте ги от секция Extend и отидете на Configuration -> CAPTCHA module settings, където можете да променяте различни настройки. Това е мястото, където можете да добавите двата ключа за съответната услуга и да изберете коя платформа да използвате и къде точно на сайта да се показват CAPTCHA задачи за посетителите.
OpenCart
Влезте в административния си панел и отидете на Extensions -> Extensions -> Captchas. В OpenCart по подразбиране са налични две платформи – Basic captcha и reCAPTCHA. След като ги активирате, отидете в секция System -> Settings -> Option, слезте надолу по страницата и ще видите опцията CAPTCHA, където ще можете да изберете коя платформа да използвате и кои страници да бъдат защитени.
В магазина за разширения на OpenCart щe намерите още възможности, като hCaptcha, например. Свалете това, което желаете и го добавете от административния панел -> Extensions -> Installer. Следвайте стъпките по-горе, за да го активирате.
Ако използвате различна платформа за електронна търговия или система за управление на съдържание, вероятно ще намерите подобни плъгини/разширения, които да добавите към нея. Може да проверите официалния сайт както на софтуера, който използвате, така и на желаната от Вас CAPTCHA платформа, за да видите дали предлагат инструкции за интеграция.
Недостатъците на CAPTCHA
CAPTCHA платформите са един от най-добрите начини да предотвратите злоупотребата с формуляри за връзка, сайтове за билети, онлайн аукциони, анкети и други. Въпреки това използването на подобна услуга понякога е противоречиво, като в резултат на това някои хора се колебаят да добавят CAPTCHA на сайта си, а други - да посещават сайтове, използващи подобна система.
- Трудна е за четене. Някои CAPTCHA задачи, базирани на текст, са много трудни за четене, особено ако два или повече символа не се виждат ясно. В такъв случай дори посетителите на сайта да искат да решат задачата, чисто и просто няма да могат да го направят, а в резултат на това най-вероятно ще напуснат сайта.
- Може да е дразнеща. Някои CAPTCHA задачи са по-дразнещи от други. Някой път например може да трябва да изберете изображения, на които се вижда миниатюрна част от даден предмет, споменат в задачата, и Вие ще се колебаете дали да изберете дадено изображение, или не. Друг път може да не уцелите правилните детайли, за да влезете в акаунта си, и освен име и парола при всеки опит ще трябва да попълвате и допълнителни CAPTCHA задачи, което може да Ви изнерви допълнително.
- Поверителността на данните е под въпрос. Някои компании, но най-вече Google, имат достъп до част от личната информация на клиентите си и я използват, за да определят дали даден посетител е истински човек, или не. Много хора са недоволни, че компаниите, предлагащи CAPTCHA услуги, могат да следят навиците им в онлайн пространството. Особено ако една и съща CAPTCHA платформа се използва на различни сайтове. По този начин е по-лесно да се следи какъв тип сайтове посещава даден човек.
- Използва се евтина работна ръка за решаването ѝ. Понякога се наемат хора, които решават милиони CAPTCHA задачи срещу символични суми. Подобна практика е разпространена сред измамници, които планират да получат неупълномощен достъп до някакво онлайн съдържание.
В заключение
Използването на CAPTCHA е необходимост за повечето уебсайтове в днешно време. Ако искате да предотвратите злоупотребата с формуляра Ви за контакт или със секцията с коментари на сайта Ви от страна на автоматични ботове, можете лесно да добавите CAPTCHA на сайта, следвайки стъпките, които сме описали в нашата статия. Макар че за някои посетители решаването на задачи може да е досадно, предимствата от използването на подобна услуга значително надвишават недостатъците.
Ще намерите доста CAPTCHA платформи на пазара. Можете да изберете тази, която Ви допада най-много според това колко сте загрижени за личните си данни, колко лесно можете да добавите платформата на сайта си и дали тя поддържа типа задачи, който искате да използвате. Оттам нататък няма да се налага да се тревожите за фалшиви коментари, нереални резултати от анкети или автоматизирани опити за неупълномощен достъп до Вашия акаунт или акаунтите на Вашите клиенти.