Autor Zpráva
candiess
Profil
Dobré odpoledne vážení kolegové,
již třetím dnem si lámu hlavu s jedním zabezpečením a to sice Captcha.

Konkrétní problém:
Mám na své internetové aplikaci asi 20 formulářů, každý splňuje svůj účel, pokaždé je vstup uživatele, ošetření vstupu a následné zpracování dat.

Jednou jsem ovšem zahlédl kód (myslím že to byl JQuery) kde se pomocí $.post dalo nasimulovat odeslání formuláře (myslím, že PHP alternace je knihovna cURL). A tady jsem se zasekl, co když nějaký škodlivý člověk dá tento $.post kód například do cyklu?

Jako ošetření je způsob CAPTCHA ale nezdá se mi to jako nejvhodnější řešení (už jen pro to že tam mám 20 formulářů)

Pak jsem uvažoval, že bych to udělal přes $_SESSION a to sice jako klíč by byl time() a hodnota např cesta k souboru (pak by se to testovalo) ale to je asi také neelegantní řešení.

Tak se vás tedy ptám, máte s tímto zkušenost? Můžete mi toto téma nějak osvětlit?

Děkuji všem předem, DJPWák Pepíís
PPs
Profil *
Odporúčam pri každom volaní formulára, generovať kľúč pre daný formulár a volaného, zapísať do session a pri spracovaní dát kontrolovať či odosielateľ vlastní daný kľúč.
Ak dáta nie sú validné a znovu sa zobrazí formulár, napr. zlá emailová adresa, treba generovať nový kľúč.
Hodnota kľúča môže byť rôzna, môže byť aj viac kľúčov, resp. ku kľúču sa môže vzťahovať viacero údajov a pri kontrole sa na základe kľúča kontrolujú aj tieto údaje.
Či to je ten istý typ prehliadača, časové rozpätie, IP adresa ...
Neviem či je to elegantné riešenie, ale bezpečné ano.
Druhá vec je hodnota formulárov a objem používania. Nie vždy je nutné riešenie takéhoto silného kalibru.
Niekedy stačí ošetriť odosielanie cez JS a pred odoslaním zmeniť skryté pole na validnú hodnotu.
Je to jednoduché a účinné, je o tom veľa popísané aj v tejto diskusii.
Riešenie CAPTCHA je z pohľadu bezpečnosti niekde medzi týmito dvoma riešeniami.
Keeehi
Profil
PPs:
Neviem či je to elegantné riešenie, ale bezpečné ano.
Tak to není pravda. To co jsi popsal je sice obrana proti CSRF. Načtení stránky a následné odeslání pomocí cURL to nezabrání.

Jinak momentálně vás před automatickým odesíláním formuláře ochrání opisování textu z obrázku. I když dneska existují i nástroje, které jsou v rozpoznávání těch matlanin kolikrát lepší než člověk, takže ani to není 100%. Ovšem zatím to považuji za dostačující řešení.

CAPTCHA je akronym "completely automated public Turing test to tell computers and humans apart" - je to test, který dokáže rozpoznat člověka od stroje. Tedy CAPTCHA neznamená obrázek z textem ale obrázek s textem je jeden z testů. To že se dnes používá nejčastěji je zase jiná věc.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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