Autor | Zpráva | ||
---|---|---|---|
ronnie Profil |
#1 · Zasláno: 13. 7. 2005, 19:48:58
Zdravím,
pokud nemá uživatel povoleny cookies, je třeba použit konstantu SID u každého odkazu. To není problém, ale jak to udělat u formulářů?Pokud totiž formulář odešlu na stejsnou stránku, SID zmizí. Jak se tyhle problémy řeší? Díky moc za odpověď |
||
ronnie Profil |
#2 · Zasláno: 13. 7. 2005, 19:55:29
Šlo by posílat formuláře metodou GET, ale třeba u změny registračních údaju by to bylo hodně nepraktické, navíc by to znamenalo kompletní předělání celého webu...není jednodušší možnost?
|
||
Leo Profil |
#3 · Zasláno: 13. 7. 2005, 19:57:56
Osobne je resim tak, ze cookie proste musi byt zapnute. Nestoji to za komplikace a bezpecnostni rizika, Leo
|
||
DoubleThink Profil * |
#4 · Zasláno: 13. 7. 2005, 20:19:29 · Upravil/a: DoubleThink
Pokud odesíláš form přes GET, tak přidáš normálně další hidden input (nemůžeš tam ale vkládat konstantu SID - ta by totiž vložila i řetězec "PHPSESSID=") - takže si necháš vypsat číslo session pomocí session_id()
V případě POST formuláře je to jednoduché: <form action="?<? echo SID; ?>"...> |
||
ronnie Profil |
#5 · Zasláno: 13. 7. 2005, 20:21:14 · Upravil/a: ronnie
Díky, osobně tuhle možnost doporučujete nebo ne? Tedy zda např. v případě eshopu brát ohled na uživatele bez cookies?
|
||
DoubleThink Profil * |
#6 · Zasláno: 13. 7. 2005, 21:00:18 · Upravil/a: DoubleThink
Myslím, že touto úpravou nemáš co ztratit - já to takto přidávám do každého formuláře a odkazu.
Pokud bys to takto neudělal, tak uživatelé bez cookies jednoduše ostrouhají - nedostanou se dál, ani kdyby se postavili na hlavu. U e-shopu bych to použil tím tuplem - tady už jde o prachy |
||
ronnie Profil |
#7 · Zasláno: 13. 7. 2005, 21:02:04
To je fakt, díky za názor:)
|
||
WertriK Profil * |
#8 · Zasláno: 13. 7. 2005, 21:58:24
hmm a kdyby tam dal
<input type="hidden" name="SID" value="$SID"> co by se stalo?? ptam se jen ze jsem to tady nikde nevidel jako dalsi alternativu... |
||
DoubleThink Profil * |
#9 · Zasláno: 13. 7. 2005, 22:51:34 · Upravil/a: DoubleThink
PHP by dostalo něco takového:
SID=PHPSESSID%E2a99e455e566d706c4a20a45af616507aCož je nesmysl, protože očekává proměnnou: PHPSESSID=a99e455e566d706c4a20a45af616507aTakže jedinný způsob, jak přenést číslo session přes GET formulář je následující: <input type="hidden" name="PHPSESSID" value="<? echo session_id();?>">Nebo ještě lépe (název session proměnné nemusí být vždy "PHPSESSID"): <input type="hidden" name="<? echo session_name();?>" value="<? echo session_id();?>"> Přidat konstantu SID do atributu action u GET formuláře nejde - prohlížeč parametry neodešle. Jenom mimochodem - SID je konstanta (nepíše se tam $) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0