2000-ųjų pradžioje pristatytos CAPTCHA jau dešimtmečius erzina vartotojus. Nuo autobuso vaizdų radimo iki keistos raidžių sekos įvedimo ar matematikos uždavinių sprendimo – yra daug būdų, kaip svetainės prašo įrodyti, kad nesate robotas.
Bet ar kada susimąstėte, kaip veikia CAPTCHA ir kodėl svetainės verčia jus jas išspręsti?
Kas yra CAPTCHA?
CAPTCHA reiškia visiškai automatizuotą viešąjį Turingo testą, skirtą atskirti kompiuterius ir žmones. Kaip rodo pavadinimas, jis skiria žmones ir kompiuterius.
Pagrindinė CAPTCHA koncepcija remiasi kompiuterinio intelekto trūkumu atpažinti modelius. Kompiuteris gali atpažinti raides, bet ne tais atvejais, kai jos yra pakeistos arba jose yra daug foninio triukšmo. Tuo tarpu žmonės kartų kartos yra priversti pastebėti ir nustatyti modelius kaip saugos mechanizmą.
CAPTCHA tipai
CAPTCHA yra įvairių tipų, kai kurie iš jų yra:
1. Tekstinis vaizdas CAPTCHA
Teksto pagrindu CAPTCHA naudojamas žodžių ar frazių rinkinys arba atsitiktinis įvairių raidžių, skaičių ir simbolių derinys. Tai atstumta simbolių seka, kurią šiek tiek sunku interpretuoti.
Tai apima iškraipymą, pasukimą, apvertimą, svyravimą, didžiųjų raidžių rašymo stilių ir sutapimą su gretimais simboliais. Siekiant patobulinti šią techniką, CAPTCHA atsitiktine tvarka gali apimti grafiką, pvz., linijas, lankus ar taškus, paskirstytus visame vaizde.
2. Garso CAPTCHA
Garso CAPTCHA yra alternatyva tekstiniams CAPTCHA ir skirta regėjimo negalią turintiems vartotojams. Garso įrašas CAPTCHA pateikia garso įrašą iš raidžių arba skaičių sekos, kurią vartotojas turi teisingai įvesti. Vėlgi, yra iškraipymų, šį kartą papildomo foninio triukšmo forma. Įdomu tai, kad Python CAPTCHA modulis veikia tik su skaičiais.
3. Vaizdas CAPTCHA
Vaizdo CAPTCHA yra alternatyva tekstiniams vaizdo CAPTCHA. Tai yra tipiškos CAPTCHA, su kuriomis susidursite kasdien.
Šiose CAPTCHA prašoma identifikuoti konkretų objektą, pvz., valtį, sunkvežimį ar gaisrinį hidrantą. Jie pateikia juos kartu su kitais vaizdais, iš kurių galima pasirinkti. Tai yra daug patogesni žmonėms nei tekstiniai testai, be to, robotams juos sunkiau atpažinti.
4. Matematika, žodžių uždaviniai ir galvosūkiai CAPTCHA
Matematinės CAPTCHA dažnai yra paprastas aritmetinis uždavinys, pvz., 17 + 23, 16 * 10 arba 30/10 su pridėtais grafiniais elementais.
Žodžių problema CAPTCHA pateikia žodžių ar susijusių elementų seką ir prašo užpildyti tuščias vietas atitinkamu atsakymu.
Dėlionė CAPTCHA apima mini dėlionės sprendimą, pvz., nustumiant juostą iki tinkamo ilgio, kad trūkstama detalė užbaigtų vaizdą.
5. Nėra CAPTCHA ReCAPTCHA
„Google“ priklauso ReCAPTCHA, kuri naudoja pažangią rizikos analizę ir prisitaikančius iššūkius, kad išvengtų robotų. ReCAPTCHA nuskaito turinį iš „Google Street View“, laikraščių, knygų ir kt.
Jokia CAPTCHA ReCAPTCHA nereikalauja, kad patikrintumėte parinktį „Aš ne robotas“, neprašant atlikti jokių bandymų. Tai įmanoma, nes ji seka judesius ir identifikuoja paspaudimą. Vienas dalykas, į kurį reikia atkreipti dėmesį, yra tai ReCAPTCHA užfiksuoja jūsų asmeninę informaciją taip pat.
Galite sukurti a CAPTCHA patvirtinimo forma naudojant HTML, CSS ir JS taip pat naudojant Python CAPTCHA modulį.
Python CAPTCHA modulis
„Python“ yra su fantastišku moduliu, pavadintu CAPTCHA, kuris padeda akimirksniu sukurti teksto vaizdo ir garso CAPTCHA. Nors modulyje yra integruotas šrifto stilius ir balsas, galite naudoti savo balso ir šrifto duomenis, kad dar labiau pritaikytumėte CAPTCHA.
Norėdami įdiegti CAPTCHA modulį savo Python aplinkoje, atidarykite terminalo langą ir įveskite:
pip diegti captcha
Kaip sugeneruoti tekstinį vaizdą CAPTCHA naudojant Python
Čia yra visas šaltinio kodas, skirtas sukurti pritaikytą tekstinį vaizdą ir garso įrašą CAPTCHA GitHub saugykla.
Norėdami sukurti tekstinį vaizdą CAPTCHA naudodami Python, galite atlikti šiuos veiksmus:
- Importuoti ImageCaptcha esančiame modulyje captcha.image.
# importuojamos reikalingos bibliotekos
iš captcha.image importuoti ImageCaptcha - Nurodykite pasirinktinį CAPTCHA plotį ir aukštį ir sukurkite jo egzempliorių.
# nurodykite matmenis
vaizdas = ImageCaptcha (plotis = 300, aukštis = 100) - Paimkite simbolių seką kaip vartotojo įvestį naudodami įvestis () funkcija konvertuoti jį į tekstinį CAPTCHA formatą.
# įveskite tekstą, kad sukurtumėte captcha
captcha_text = input("Įveskite tekstą: ") - Perduokite tekstą, kurį gavote iš vartotojo, į image.generate() sukurti CAPTCHA.
# generuoti tekstinį captcha
duomenys = vaizdas.generate (captcha_text) - Perduokite CAPTCHA tekstą ir vaizdo failo pavadinimą kartu su jo plėtiniu image.write() kad išsaugotumėte sugeneruotą vaizdą CAPTCHA.
# išsaugokite „captcha“ vaizdo failą
image.write (captcha_text, (captcha_text) + ".png")
Tekstinio vaizdo išvestis CAPTCHA naudojant Python
Viena geriausių šio modulio savybių yra ta, kad jis generuoja tą patį tekstą skirtingomis spalvomis, stiliais ir iškrypimu. Tai yra keletas sugeneruotų pavyzdžių.
Tai dar vienas žavus dizainas, sukurtas naudojant tą pačią programą.
Kaip sugeneruoti garso CAPTCHA naudojant Python
Norėdami sukurti garso CAPTCHA naudodami Python, atlikite šiuos veiksmus:
- Importuoti AudioCaptcha modulis iš captcha.audio.
# importuojamos reikalingos bibliotekos
iš captcha.audio importuoti AudioCaptcha - Sukurkite AudioCaptcha() egzempliorių.
# garso egzemplioriaus kūrimas
garsas = AudioCaptcha() - Paimkite skaitmenis kaip vartotojo įvestį naudodami įvestis () funkcija sukurti savo garso CAPTCHA.
# garso captcha numeris, pvz.: 32135
captcha_text = input("Įveskite numerį: ") - Perduokite tekstą, kurį gavote iš vartotojo audio.generate() sukurti CAPTCHA.
# generuoti garso pagrindu pagrįstą „captcha“.
audio_data = audio.generate (captcha_text) - Perduokite CAPTCHA tekstą ir garso failo pavadinimą kartu su jo plėtiniu audio.write() Norėdami išsaugoti sugeneruotą garso įrašą CAPTCHA.
# išsaugokite garso failą
audio.write (captcha_text, "garso"+captcha_text+'.wav')
Jei įvesite skaičius 970322, ši garso CAPTCHA programa sugeneruos audio970322.wav failą, kuris ištaria skaitmenis iš eilės su daugybe foninio triukšmo.
Daugybė CAPTCHA naudojimo būdų
Pagrindinė CAPTCHA funkcija yra užkirsti kelią šlamštui ir robotų piktnaudžiavimui svetainėje. Jie padeda išlaikyti internetinių apklausų tikslumą, nes neleidžia robotams užtvindyti jų neigiamais atsakymais. Jie veikia kaip apsaugos nuo brutalios jėgos atakų sluoksnis ir riboja, kiek kartų vartotojas bando prisijungti prie svetainės.
CAPTCHA taip pat gali padėti išvengti automatinių komentarų ir padėti apsaugoti mokėjimų šliuzus, kai kyla sunkumų.