Autor | Zpráva | ||
---|---|---|---|
Liba Kovářová Profil |
#1 · Zasláno: 11. 8. 2012, 13:49:17
Ahoj, jak fungují cookies: Mám na localhostu složku web, v ní složku prihlasit, v ní php soubor, ve kterém nastavuji cookies. A pak ten cookie potřebuju ve složce web/srandicky/..., čili v jiné složce, a tam se ten cookie nezná. Mezi cookies je to zapsané v kolonce localhost. Když stejný skript, který cookie využívá, dám do složky, kde ho nastavuji, tak to funguje, když ho překopíruju do jiné složky, tak ne. To fakt musím všechny soubory, kde nastavuji cookie, dát do "nadřezené" složky? Díky.
|
||
ShiraNai7 Profil |
#2 · Zasláno: 11. 8. 2012, 13:54:34
Nastavuj cestu při odesílání cookie na "/".
|
||
Liba Kovářová Profil |
#3 · Zasláno: 11. 8. 2012, 14:01:42
Jako
setcookie ('/id_uzivatele', $radek[0]) ; ? |
||
ShiraNai7 Profil |
Ne:
setcookie('id_uzivatele', $radek[0], 0, '/'); rtfm edit: Jen taková poznámka, je ti jasné, že pokud uložíš ID uživatele do cookie, tak si její hodnotu může uživatel libovolně měnit? Pokud to používáš pro přihlášení, tak je to vážná bezpečnostní díra. |
||
Liba Kovářová Profil |
#5 · Zasláno: 11. 8. 2012, 14:06:36
ÁÁÁÁÁÁ Super, díky moc.
|
||
Liba Kovářová Profil |
#6 · Zasláno: 12. 8. 2012, 20:15:46
Bezpečnostní díra... ne, pro přihlášení používám uživatelská jména - ale to asi problém neřeší, co? Jak na to?
A ještě mám jeden problém. Po přihlášení nastavím ty cookies, a pak použiju header, abych se po přihlášení dostala na jinou stránku. A prohlížeč tohle zvesela ignoruje, resp. chvilku nad tím popřemýšlí a až pak to ignoruje, nevyhodí žádnou hlášku ani nic takového, prostě jenom nic neudělá a pokračuje ve svém skriptu (který znovu zobrazí přihlašovací formulář). if ($radek) { setcookie ('id_uzivatele', $radek[0], 0, '/') ; setcookie ('uziv_jmeno',$radek[1], 0, '/'); header ("Location: .dirname($_SERVER['PHP_SELF'])."/prihlasen.php]http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/prihlasen.php"); exit(); } else {... Evidentně tam program dojde, cookies nastaví, když si tam přidám nějakou pomocnou proměnnou, tak do ní něco vloží a pak to můžu jinde "vyechovat", čili program se snaží tuto část zpracovat. Ale na stránku se nepřesměruje, a pokračuje ve skriptu dál. V čem může být problém? |
||
ShiraNai7 Profil |
#7 · Zasláno: 12. 8. 2012, 20:40:22
|
||
Liba Kovářová Profil |
#8 · Zasláno: 14. 8. 2012, 18:11:22 · Upravil/a: Liba Kovářová
Teď se dívám, že jsem to tam nějak špatně nakopírtovala. Správně mělo být:
if ($radek) { setcookie ('id_uzivatele', $radek[0], 0, '/') ; setcookie ('uziv_jmeno',$radek[1], 0, '/'); header ("Location: .dirname($_SERVER['PHP_SELF'])."/prihlasen.php]http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/prihlasen.php"); exit(); Opsss... Co to je? Kopíruju něco trošku jiného, a když to odešlu do diskuse, tak se to v závorce za "header" změní. Jak mám ten skutečný skript kopírovat? |
||
Davex Profil |
#9 · Zasláno: 14. 8. 2012, 19:37:08
Liba Kovářová:
„Jak mám ten skutečný skript kopírovat?“ Po vložení rozbít začátek adresy značkou h[!]ttp:// .
if ($radek) { setcookie ('id_uzivatele', $radek[0], 0, '/') ; setcookie ('uziv_jmeno',$radek[1], 0, '/'); header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/prihlasen.php"); exit(); |
||
Časová prodleva: 12 let
|
0