A 2000-es évek elején bevezetett CAPTCHA-k már évtizedek óta bosszantják a felhasználókat. A buszképek keresésétől a furcsa betűsorozat beviteléig vagy a matematikai feladatok megoldásáig számos módon kérik a webhelyek, hogy bizonyítsák, nem vagy robot.

De elgondolkozott már azon, hogyan működik a CAPTCHA, és miért kényszerítik a webhelyek ezek megoldására?

Mi az a CAPTCHA?

A CAPTCHA a Completely Automated Public Turing-teszt rövidítése, amellyel meg lehet különböztetni a számítógépeket és az embereket. Ahogy a neve is sugallja, különbséget tesz az emberek és a számítógépek között.

A CAPTCHA alapkoncepciója a minták felismeréséhez szükséges számítógépes intelligencia hiányán alapul. A számítógép képes felismerni a betűket, de nem olyan esetekben, amikor azok megváltoztak, vagy nagy háttérzajjal jelennek meg. Eközben az emberek nemzedékek óta arra kényszerülnek, hogy biztonsági mechanizmusként észrevegyék és azonosítsák a mintákat.

A CAPTCHA típusai

A CAPTCHA többféle típusban kapható, ezek közül néhány:

instagram viewer

1. Szövegalapú kép CAPTCHA

Szövegalapú CAPTCHA szavak vagy kifejezések halmazát vagy különböző betűk, számok és szimbólumok véletlenszerű kombinációját használja. Egy kicsit nehezen értelmezhető, elidegenített formában jelenít meg egy karaktersorozatot.

Ide tartozik a torzítás, az elforgatás, az átfordítás, az ingadozás, a nagybetűs írásmód és a szomszédos karakterekkel való átfedés. Ennek a technikának a javítása érdekében a CAPTCHA grafikákat, például vonalakat, íveket vagy pontokat tartalmazhat véletlenszerűen, elszórva a képen.

2. Audio CAPTCHA

Az audio CAPTCHA a szöveges CAPTCHA alternatívájaként szolgál, és a látássérült felhasználókat szolgálja ki. Audio A CAPTCHA hangfelvételt jelenít meg a felhasználónak helyesen beírt betűk vagy számok sorozatából. Ismét van torzítás, ezúttal hozzáadott háttérzaj formájában. Érdekes dolog, hogy a Python CAPTCHA modul csak számokkal működik.

3. Kép CAPTCHA

A kép-CAPTCHA-k a szöveges kép-CAPTCHA-k alternatívája. Ezek azok a tipikus CAPTCHA-k, amelyekkel naponta meg kell küzdenie.

Ezek a CAPTCHA-k arra kérik, hogy azonosítson egy adott tárgyat, például hajót, teherautót vagy tűzcsapot. Ezeket más képekkel együtt mutatják be, amelyek közül választhatnak. Ezek sokkal emberbarátabbak, mint a szöveges tesztek, és a robotok számára is nehezebb felismerni.

4. Matematika, szófeladat és rejtvény CAPTCHA

A matematikai CAPTCHA-k gyakran egy egyszerű aritmetikai problémát képviselnek, például 17 + 23, 16 * 10 vagy 30/10 hozzáadott grafikus elemekkel.

Szóprobléma A CAPTCHA szavak vagy kapcsolódó elemek sorozatát jeleníti meg, és megkéri, hogy töltse ki az üres helyeket a megfelelő válaszokkal.

A CAPTCHA rejtvény egy mini kirakós játék megoldását foglalja magában, például egy rúd megfelelő hosszúságúra csúsztatását, hogy a hiányzó darab kiegészítse a képet.

5. Nincs CAPTCHA ReCAPTCHA

A Google tulajdonosa a ReCAPTCHA, amely fejlett kockázatelemzést és adaptív kihívásokat használ a robotok megelőzésére. A ReCAPTCHA lekéri a tartalmat a Google Street View-ból, újságokból, könyvekből és egyebekből.

Nincs CAPTCHA A ReCAPTCHA megköveteli, hogy ellenőrizze a „Nem vagyok robot” opciót anélkül, hogy bármilyen teszten keresztül kellene mennie. Ez azért lehetséges, mert követi a mozgásokat és azonosítja a kattanást. Egy dolgot meg kell jegyezni, hogy A ReCAPTCHA rögzíti az Ön személyes adatait is.

Létrehozhat a CAPTCHA érvényesítési űrlap HTML, CSS és JS használatával valamint a Python CAPTCHA modul használatával.

A Python CAPTCHA modul

A Python egy fantasztikus CAPTCHA modullal érkezik, amely pillanatok alatt segít szöveges kép- és hang-CAPTCHA-k létrehozásában. Bár a modul beépített betűstílust és hangot biztosít, a hang- és betűtípusadatok segítségével még tovább szabhatja a CAPTCHA-kat.

A CAPTCHA modul Python környezetben való telepítéséhez nyissa meg a Terminál ablakot, és írja be:

csipog telepítés captcha

Szövegalapú kép CAPTCHA létrehozása Python használatával

A testreszabott szöveges kép- és hang CAPTCHA létrehozásához szükséges teljes forráskód elérhető ebben GitHub adattár.

Kövesse az alábbi lépéseket egy szöveges CAPTCHA kép létrehozásához Python használatával:

  1. Importálja a ImageCaptcha ben található modul captcha.image.
    # a szükséges könyvtárak importálása
    tól től captcha.image import ImageCaptcha
  2. Adjon meg egyéni szélességet és magasságot a CAPTCHA számára, és hozzon létre belőle példányt.
    # adja meg a méreteket
    kép = ImageCaptcha (szélesség = 300, magasság = 100)
  3. Vegyünk egy karaktersorozatot felhasználói bevitelként a bemenet() funkcióval konvertálja szöveges CAPTCHA formátumba.
    # írja be a szöveget a captcha létrehozásához
    captcha_text = input("Kérjük, írjon be szöveget: ")
  4. Add át a felhasználótól kapott szöveget a image.generate() a CAPTCHA létrehozásához.
    # generálja a szöveges captcha-t
    adatok = image.generate (captcha_text)
  5. Adja át a CAPTCHA szövegét és a képfájl nevét a kiterjesztésével együtt image.write() a generált kép CAPTCHA mentéséhez.
    # mentse a captcha képfájlt
    image.write (captcha_text, (captcha_text) + ".png")

Szövegalapú kép CAPTCHA kimenete Python használatával

Ennek a modulnak az egyik legjobb tulajdonsága, hogy ugyanazt a szöveget generálja különböző színekben, stílusokban és ferdeségben. Íme néhány példa a generált példák közül.

Ez egy újabb lenyűgöző terv, amely ugyanazon a programon keresztül készült.

Audio CAPTCHA létrehozása Python használatával

Kövesse az alábbi lépéseket egy audio CAPTCHA létrehozásához Python használatával:

  1. Importálja a AudioCaptcha modulból captcha.audio.
    # a szükséges könyvtárak importálása
    tól től captcha.audio import AudioCaptcha
  2. Hozzon létre egy AudioCaptcha() példányt.
    # hangpéldány létrehozása
    audio = AudioCaptcha()
  3. Vegyen számokat felhasználói bevitelként a bemenet() funkciót a CAPTCHA hang létrehozásához.
    # audio captcha szám, pl.: 32135
    captcha_text = input("Kérjük, adja meg a számot: ")
  4. Add át a felhasználótól kapott szöveget audio.generate() a CAPTCHA létrehozásához.
    # generálja a hangalapú captcha-t
    audio_data = audio.generate (captcha_text)
  5. Adja át a CAPTCHA szövegét és az audiofájl nevét a kiterjesztésével együtt audio.write() a generált audio CAPTCHA mentéséhez.
    # mentse az audiofájlt
    audio.write (captcha_text, "hang-"+captcha_text+'.wav')

Ha beírod a számokat 970322, ez az audio CAPTCHA program generál egy audio970322.wav fájl, amely sorban mondja ki a számjegyeket egy csomó háttérzajjal.

A CAPTCHA sokféle felhasználása

A CAPTCHA elsődleges funkciója a spam és a botok általi visszaélések megakadályozása a webhelyeken. Segítenek megőrizni az online szavazások pontosságát azáltal, hogy megakadályozzák, hogy a robotok negatív válaszokkal árasszák el őket. Védelmet nyújtanak a brutális erőszakos támadások ellen, és korlátozzák, hogy a felhasználó hányszor próbáljon meg bejelentkezni egy webhelyre.

A CAPTCHA segíthet megelőzni az automatizált megjegyzéseket, és segíthet a fizetési átjárók biztonságos megoldásában.