ugrás a tartalomhoz

cookie letárolás

sEEcher · 2011. Jún. 11. (Szo), 13.33
Sziasztok!

A következő problémában szeretném a segítségeteket kérni. A weboldalam egy bizonyos szolgáltatása egy alkönyvtárból fut (nem én akartam így, de a portálmotorban ez volt, én meg kezdő voltam). Egy cookie-ban van letárolva az aktuális URL, viszont ha ez az alkönyvtárban található oldal végzi ezt a cookie-zást (a saját url-jéről), akkor a _COOKIE nem látja annak cookie-ját. Nem annyira értek ehhez, de sejtésem szerint az alkönyvtárban lévő oldal nem oda rakja a cookie-ját, ahová a "főkönytárban" található oldalak. Ergo azt szeretném megoldani, hogy az alkönyvtárban található oldal által készített cookie-t is elérje a _COOKIE. Próbáltam már a setcookie-ban a path-et is megadni, de az sem vezetett eredményre.

Előre is köszönöm a segítségeteket!
 
1

Nem teljesen tiszta amit írsz...

H.Z. v2 · 2011. Jún. 11. (Szo), 14.00
Esetleg az lehet a gondod, hogy akkor akarod felhasználni a sütit, amikor beállítod?
Tehát valaki letölti az oldalt, az oldalt generáló program beállítja setcookie-val és azon nyomban ki is akarod olvasni?
Ugyanis a cookie csak a köv. oldalletöltéstől él, eddigi információim szerint.
2

...

sEEcher · 2011. Jún. 11. (Szo), 14.27
Ez az egész tulajdonképpen arra lenne jó, hogy ki- és bejelentkezés után az utoljára böngészett lapra térjen vissza. A főkönyvtárban található oldalakkal működik a dolog. Az oldal betöltése végén meg van hívva a setcookie, majd ha ki- vagy bejelentkezünk az újonnan betöltött login/logout oldal lekéri az előzőekben beállított cookie-t, majd redirectel az abban található URL-re. Mivel ezek az URL-ek tartalmazhatnak & jeleket is, nem tudtam máshogyan megoldani, csak ezzel a módszerrel a url átadását a login/logout-nak.
3

Csak hogy jól értem-e

H.Z. v2 · 2011. Jún. 11. (Szo), 15.18
Van egy http://a.b.c/ című lapod.
A problémás oldal mondjuk a http://a.b.c/aldir/ alól érhető el? (tehát a szerver címe/neve nem változik, csak az alkönyvtár?)
Miből tudod, hogy a cookie-t nem látja és nem az a gáz, hogy a benne tárolt cím hibás?

Csak mint tipp: cookie helyett a $_SESSION-ben tárolni az URL-t?

Én is erősen kezdő vagyok mind PHP-ben, mind web programozásban, talán csak ezért nem teljesen világos.
5

...

sEEcher · 2011. Jún. 11. (Szo), 15.32
Nem változik semmi, csak az alkönyvtár, pontosan úgy, ahogyan a példában említetted.

A cookie-ben jól van letárolva a cím, ellenőrzésképpen ki is írattam. A címet URL paraméterként nem tudom átadni, mert az átvitt URL is tartalmaz változókat, amik & jellel vannak elválasztva.
4

Felejtsd el a cookie-t!!!

aky22 · 2011. Jún. 11. (Szo), 15.23
Felejtsd el a cookie-t!!! Ehhez sessiont használj. Amúgy meg bejelentkezés után szentem az lenne a legegyszerűbb ha egy ilyet beleraknál a login.php-ba :
header("location:".$_SERVER['HTTP_REFERER']);
8

HTTP_REFERER-re nem bíznék

H.Z. v2 · 2011. Jún. 11. (Szo), 16.56
HTTP_REFERER-re nem bíznék ilyesmit. Egyrészt azért, mert némely böngészők állítólag át sem adják, FF-ban tán még plugin is van a tiltásukra, másrészt a kedves felhasználó bármit beleírhat, ha épp olyanja van és ért hozzá...
(de valaki javítson ki, ha nincs igazam!)
9

Kicsit különösnek tartom már

aky22 · 2011. Jún. 11. (Szo), 17.48
Kicsit különösnek tartom már csak azért mert ha automatán átirányít akkor hogy írja bele??? Erre én is kíváncsi lennék mert akkor módosíthatom az egész oldalt.
10

Amikor megnyitja a böngésző

H.Z. v2 · 2011. Jún. 11. (Szo), 18.56
Amikor megnyitja a böngésző az oldalt, akkor küld(het) a http headerben egy referert. Ezt a headert bárki módosíthatja, aki hozzáfér a szervered és a kliens közt folyó kommunikációhoz.
Ha valakinek sikerül a felhasználód és a szervered közé telepdnie és ismeri a lapodnak eme tulajdonságát, akkor úgy tudja átirányítani a felhasználódat, hogy szerencsétlen csak azt látja: az oldalad átrakta mondjuk valami vírustenyészetre.
(ez így nagyon primitív példa, sohasem voltam jó hálózatok+security terén, de talán érthető mire gondolok - ezzel ráadásul inkább neked okoz kellemetlenséget az elkövető)
6

Elérési út

Poetro · 2011. Jún. 11. (Szo), 15.59
Minden sütinek van egy elérési útja, és csak az alatt levõ elérési utakon érhetô el a süti értéke. Használd a setcookie függvényt a süti beállítására.
7

Megint tanultam valamit...

H.Z. v2 · 2011. Jún. 11. (Szo), 16.53
Azt tudtam, hogy másik szerver sütijeit nem lehet elérni, de hogy ez könyvtáranként is el van szeparálva, az újdonság volt...
11

MEGOLDÁS

sEEcher · 2011. Jún. 11. (Szo), 19.42
A _SESSION-ös megoldással már minden elérte és közösen kezelte a session-öket, viszont sem a header('Location:), sem JavaScript-es megoldás nem akarta redirectelni, vagyis akarta viszont az URL akármi.php utáni részét egyszerűen levágta. Végül egy

echo "<meta HTTP-EQUIV='REFRESH' content='0; url=$current_page>"

megoldotta a problémámat és tökéletesen működik, ráadásul gányolni sem kell hozzá, hogy hatékony legyen. Köszönöm a segítségeteket!