Autor Zpráva
Daniel47
Profil
Ahoj dá se udělat captcha pomoci canvas? V JavaScriptu.
Mlocik97
Profil
Daniel47:
áno dá... do google som napsal iba canvas captcha a hneď som našiel 9 miliónov a 600 tisíc výsledkov, napr. codepen.io/darkmeteora/pen/oZbeOJ alebo jsfiddle.net/kikilutfie/3e5b1yqs/2 alebo www.josscrowcroft.com/demos/motioncaptcha
Daniel47
Profil
Ale já chci klasickou.
JakubHekal
Profil
Daniel47:
Co znamená klasické captcha. Myslíš "nečitelný" text.
Daniel47
Profil
Něco co má ulozto. cz
Keeehi
Profil
Daniel47:
Já bych jen chtěl říct, že captcha jen v JS nemá moc smysl. JS se vykonává v prohlížeči. Má to dva problémy.
1) To že uživateli zobrazíš tlačítko pro odeslání formuláře až po ověření captchy vůbec toho robota co rozesílá spam nezajímá. On si jen přečte jména inputů, podle toho sestaví požadavek ale samozný formulář nikdy odeslat nemusí. Nebo může ale tlačítko k tomu nepotřebuje.
2) Druhý problém tkví v tom, že ty v javascriptu vygeneruješ nějaké číslo, to si uložíš do proměnné, podle čísla vytvoříš obrázek a vstup od uživatele kontroluješ oproti tomu číslu v proměnné. Problém je, že to číslo, co by nemělo yýt strojově čitelné z obrázku, je uložené v nějaké té proměnné a ta strojově čitelná je.
Můžeš si to sám vyzkoušet. Obejít tvoji captchu na dettube-cz.euweb.cz/ostatni-videa.php je takto jednoduché: Otevři tu stránku, zkopíruj následující kód, na té stránce ho vlož do adresního řádku a zmáčkni enter. V políčku captchy se "magicky" objeví hodnota z toho obrázku.
javascript:document.getElementById("TextNoSpam").value = NoSpamKodGenerator

Pokud chceš dělat captchu, která není takto průstřelná, musíš do toho zapojit server. Ta tajná část (v tomto případě to číslo) nikdy nesmí opustit server. Tudíž ani javascript se ho nikdy nesmí dozvědět. Z toho vyplývá, že javascript ten obrázek vytvářet nemůže. Obrázek musí vytvářet server a správnou odpověď musí server vytvářet taky.
Daniel47
Profil
Díky za radu opravím.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0