Má smysl kontrolovat, jestli jsou data na můj skript odeslána z vlastního nebo z cizího formuláře? Je proměná $_SERVER ["HTTP_REFERER"] po odeslání formuláře vždy dostupná?
Dík :)
Jestli si dobře pamateju, tak ve slove referrer se snad pišou dvě R, ne? :)
Dostupná je, pokud ji prohlížeč pošle...
To jestli ma smysl pouzit referer, je pouze jen na tobe. Pokud ti vadi, ze nekdo pouziva formular jinde nez na tvych strankach, tak to muzes pouzit. Jinak to nema smysl.
Referer lze soucasne dobe jiz na skoro vsech prohlizecu vypnout, takze funkce nemusi fungovat 100%.
Quinix: Pise se jen jedno.
Škoda, tak to fakt nemá cenu.
pokud bys opravdu chtel mit jistotu, mohl bys mit inicializovane sessions,predavat ve formulari session_id a kontrolovat nejakou session promennou.Protoze sessions se drzi jen na tom jednom webu, slo by to ohlidat. ale stejne si myslim, ze je to zbytecne.
<HTML>Takovou vec jeste radne osetrenou nevidel.
I kdyz budes kontrolovat referer nekdo ti to klidne z localhostu nebo odjinud posle pres socket.
Ja tak kdysi tahal data z nejakeho katalogu, kdy jsem mu odeslal od sebe POST do vyhledavani, pak tam meli 8x ruzny presmerovani kde si to predavalo nejaky hashe a pak jsem byl na cilove strance bez problemu. Ja bych to neresil</HTML>
Píše se anglicky referrer, ale v php je překlep a proto je $_SERVER ["HTTP_REFERER"].
>>Píše se anglicky referrer, ale v php je překlep a proto je $_SERVER ["HTTP_REFERER"].
dobrej joke
viz. slovnik:
refer - odvolavat se, odkazat, vztahovat se (k necemu),.....
pise se jedno R, refeRRer neni, je to refeRer
viz. treba http://en.wikipedia.org/wiki/HTTP_referer
Z rovnakého zdroja (http://en.wikipedia.org/wiki/HTTP_referer):
Referer is a common misspelling of the word referrer. It is so common, in fact that it made it into the official specification of HTTP – the communication protocol of the World Wide Web – and has therefore become the standard industry spelling when discussing HTTP referers.
Osobně si myslím, že to cenu nemá. Proč by mělo vadit, že dostaneš data odjinud? Hlavně že je dostaneš. Kontrola správnosti dat stejně musí proběhnout až na serveru, klientské skripty jsou ve formulářích jen pro pohodlí uživatelů. Pokud si někdo bude chtít dělat parazitní formulář - jeho věc jak si to pak ošetří.
Pokud se chceš bránit robotům, řeší se to přes náhodně generované heslo, zobrazené v obrázku (pomocí nějakého divokého fontu), které je uživatel nucen přepsat a odeslat s ostatními daty.