Open GoogleCodeExporter opened 9 years ago
Štandardne sa to robí pridaním tajného tokenu do každého formuláru,
ktorého existencia sa overuje pri obdržaní POST dát.
Overovanie sa dá jednoducho spraviť v triede Input, pričom môžme
špecifikovať, ktoré parametre akceptujeme len s tokenom.
Najjednoduchšie bude tento token uložiť do session a mať pre všetky
formuláre rovnaký.
Ešte lepšie by bolo mať pre každú inštanciu formuláru vždy iný token,
ale to by sme už museli nejak riešiť ich ukladanie. A nevidím v tom až
taký veľký prínos.
Zaujímavá otázka je, ako tam tieto tokeny vkladať.
Tu by som sa priklonil k možnosti manuálne ich vpisovať pri každom
generovaní formuláru.
Nemáme ich tak veľa, a ak sa na to niekde zabudne, tak by sa na to malo hneď
prísť, ak človek nezabudne daný parameter v triede Input označiť ako
secure.
Get requesty by som neriešil, a ak sú nejaké meniace stav, tak by som ich
prerobil na POST.
Spravil by som teda triedu CSRFProtector na generovanie a overovanie tokenu.
Original comment by majak47
on 10 Jul 2010 at 1:05
Ina moznost je token vygenerovat na zaklade url (napriklad zhashovat vsetky
parametre + session id a hash zakryptovat servervym klucom). Toto by malo
stacit, pretoze to vyraba unikatne tokeny pre kazdy iny request a tokeny
expiruju so session.
Original comment by ppersh...@gmail.com
on 10 Jul 2010 at 4:29
Original issue reported on code.google.com by
ppersh...@gmail.com
on 9 Jul 2010 at 9:08