Wprowadzone na początku XXI wieku kody CAPTCHA irytują użytkowników od dziesięcioleci. Od znajdowania zdjęć autobusu po wprowadzanie dziwnej sekwencji liter lub rozwiązywanie problemów matematycznych — istnieje wiele sposobów, w jakie strony proszą Cię o udowodnienie, że nie jesteś robotem.

Ale czy zastanawiałeś się kiedyś, jak działają CAPTCHA i dlaczego strony internetowe zmuszają Cię do ich rozwiązywania?

Co to jest CAPTCHA?

CAPTCHA oznacza całkowicie zautomatyzowany publiczny test Turinga, który odróżnia komputery od ludzi. Jak sama nazwa wskazuje, rozróżnia ludzi i komputery.

Podstawowa koncepcja CAPTCHA opiera się na braku inteligencji komputerowej do rozpoznawania wzorców. Komputer może rozpoznawać litery, ale nie w przypadkach, gdy są one zmienione lub występują z dużą ilością szumu w tle. Tymczasem ludzie są zaprogramowani przez pokolenia, aby dostrzegać i identyfikować wzorce jako mechanizm bezpieczeństwa.

Rodzaje CAPTCHA

CAPTCHA występuje w różnych typach, kilka z nich to:

1. Obraz CAPTCHA oparty na tekście

instagram viewer

Tekstowa metoda CAPTCHA wykorzystuje zestaw słów lub fraz albo losową kombinację różnych liter, cyfr i symboli. Przedstawia sekwencję postaci w wyalienowanej formie, która jest trochę trudna do zinterpretowania.

Należą do nich zniekształcenia, obracanie, odwracanie, chybotanie, styl wielkich liter i nakładanie się na sąsiednie znaki. Aby udoskonalić tę technikę, CAPTCHA może zawierać elementy graficzne, takie jak linie, łuki lub kropki, rozmieszczone losowo na całym obrazie.

2. CAPTCHA audio

Audio CAPTCHA służy jako alternatywa dla tekstowych CAPTCHA i jest przeznaczona dla użytkowników niedowidzących. Audio CAPTCHA przedstawia nagranie dźwiękowe sekwencji liter lub cyfr, które użytkownik musi wprowadzić poprawnie. Ponownie pojawiają się zniekształcenia, tym razem w postaci dodanych szumów tła. Warto zauważyć, że moduł Python CAPTCHA działa tylko z liczbami.

3. CAPTCHA obrazu

Obrazkowe CAPTCHA są alternatywą dla tekstowych CAPTCHA graficznych. To są typowe CAPTCHA, z którymi będziesz się zmagać codziennie.

Te kody CAPTCHA proszą o zidentyfikowanie określonego obiektu, takiego jak łódź, ciężarówka lub hydrant przeciwpożarowy. Prezentują je obok innych obrazów do wyboru. Są one znacznie bardziej przyjazne dla człowieka niż testy tekstowe, a także trudniejsze do rozpoznania przez boty.

4. Matematyka, zadania tekstowe i puzzle CAPTCHA

Matematyczne CAPTCHA często przedstawiają proste problemy arytmetyczne, takie jak 17 + 23, 16 * 10 lub 30 / 10 z dodanymi elementami graficznymi.

Zadanie tekstowe CAPTCHA przedstawia sekwencję słów lub powiązanych elementów i prosi o wypełnienie pustych miejsc odpowiednią odpowiedzią.

Układanka CAPTCHA polega na rozwiązaniu mini układanki, takiej jak przesunięcie paska na odpowiednią długość, tak aby brakujący element uzupełniał obraz.

5. Brak CAPTCHA ReCAPTCHA

Google jest właścicielem ReCAPTCHA, który wykorzystuje zaawansowaną analizę ryzyka i wyzwania adaptacyjne, aby zapobiegać botom. ReCAPTCHA pobiera treści z Google Street View, gazet, książek i nie tylko.

Brak CAPTCHA ReCAPTCHA wymaga zaznaczenia opcji „Nie jestem robotem” bez konieczności przechodzenia przez jakiekolwiek testy. Jest to możliwe, ponieważ śledzi ruchy i identyfikuje kliknięcie. Należy zwrócić uwagę na jedną rzecz ReCAPTCHA przechwytuje Twoje prywatne informacje również.

Możesz utworzyć Formularz sprawdzania poprawności CAPTCHA przy użyciu HTML, CSS i JS a także za pomocą modułu Pythona CAPTCHA.

Moduł Pythona CAPTCHA

Python jest wyposażony w fantastyczny moduł o nazwie CAPTCHA, który pomaga błyskawicznie tworzyć tekstowe obrazki i dźwięki CAPTCHA. Chociaż moduł zapewnia wbudowany styl czcionki i głos, możesz użyć swojego głosu i danych czcionki, aby jeszcze bardziej dostosować CAPTCHA.

Aby zainstalować moduł CAPTCHA w swoim środowisku Python, otwórz okno Terminal i wpisz:

pypeć zainstalować captcha

Jak wygenerować tekstowy obraz CAPTCHA za pomocą Pythona

Cały kod źródłowy do generowania dostosowanego tekstowego obrazu i dźwięku CAPTCHA jest dostępny w tym Repozytorium GitHub.

Możesz wykonać te kroki, aby utworzyć tekstowy obraz CAPTCHA za pomocą Pythona:

  1. Importuj ImageCaptcha moduł znajdujący się w obraz captcha.
    # importowanie wymaganych bibliotek
    z obraz captcha import ImageCaptcha
  2. Określ niestandardową szerokość i wysokość dla swojego CAPTCHA i utwórz jego instancję.
    # podaj wymiary
    obraz = ImageCaptcha (szerokość = 300, wysokość = 100)
  3. Weź sekwencję znaków jako dane wejściowe użytkownika, używając wejście() funkcji, aby przekonwertować go na tekstowy format CAPTCHA.
    # wprowadź tekst, aby utworzyć jego captcha
    captcha_text = input("Proszę wpisać tekst: ")
  4. Przekaż tekst otrzymany od użytkownika do image.generate() do tworzenia CAPTCHA.
    # wygeneruj tekstową captcha
    dane = image.generate (captcha_text)
  5. Przekaż tekst CAPTCHA i nazwę pliku obrazu wraz z rozszerzeniem do obraz.napisz() aby zapisać wygenerowany obraz CAPTCHA.
    # zapisz plik obrazu captcha
    image.write (tekst_captcha, (tekst_captcha) + "png")

Wyjście obrazu CAPTCHA opartego na tekście przy użyciu Pythona

Jedną z najlepszych cech tego modułu jest generowanie tego samego tekstu w różnych kolorach, stylach i skośności. Oto kilka wygenerowanych przykładów.

To kolejny fascynujący projekt wygenerowany za pomocą tego samego programu.

Jak wygenerować audio CAPTCHA za pomocą Pythona

Wykonaj następujące kroki, aby utworzyć audio CAPTCHA za pomocą Pythona:

  1. Importuj AudioCaptcha moduł od captcha.audio.
    # importowanie wymaganych bibliotek
    z captcha.audio import AudioCaptcha
  2. Utwórz instancję AudioCaptcha().
    # tworzenie instancji audio
    audio = AudioCaptcha()
  3. Weź cyfry jako dane wejściowe użytkownika za pomocą wejście() funkcję, aby utworzyć dźwiękową CAPTCHA.
    # numer audio captcha, np.: 32135
    captcha_text = input("Proszę podać numer: ")
  4. Przekaż tekst otrzymany od użytkownika do audio.generuj() do tworzenia CAPTCHA.
    # generować captcha opartą na dźwięku
    audio_data = audio.generuj (tekst_captcha)
  5. Przekaż tekst CAPTCHA i nazwę pliku audio wraz z rozszerzeniem do audio.write() aby zapisać wygenerowany dźwięk CAPTCHA.
    # zapisz plik audio
    audio.write (captcha_text, "audio"+tekst_captcha+'.wav')

Jeśli wpiszesz cyfry 970322, ten dźwiękowy program CAPTCHA wygeneruje plik audio970322.wav plik, który wypowiada cyfry w sekwencji z mnóstwem szumów w tle.

Wiele zastosowań CAPTCHA

Podstawową funkcją CAPTCHA jest zapobieganie spamowi i nadużyciom ze strony botów na stronie internetowej. Pomagają zachować dokładność ankiet online, zapobiegając zalewaniu ich przez boty negatywnymi odpowiedziami. Działają jako warstwa ochrony przed atakami siłowymi i ograniczają liczbę prób zalogowania się użytkownika na stronie internetowej.

CAPTCHA może również pomóc w zapobieganiu automatycznym komentarzom i może pomóc w zabezpieczeniu bramek płatności z ich trudnością w rozwiązaniu.