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:
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:
- 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 - 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) - 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: ") - 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) - 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:
- 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 - Hozzon létre egy AudioCaptcha() példányt.
# hangpéldány létrehozása
audio = AudioCaptcha() - 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: ") - 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) - 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.