Autor Zpráva
Vlado_z_vily
Profil *
Ahoj. Nevíte jak funguje mechanismus destroy sešn při zavření prohlížeče? Jak server pozná že byl zavřen prohlížeč? já si myslim že je to tak nějak, že server to nepozná... prostě už nemá platné id pro ten sešn, ale z toho plyne stejná otázka.. jak pozná že nemá už platné id? Může mi to někdo říct? Třeba plácám kraviny, tak se ptám. Děkuji
juriad
Profil
Vlado_z_vily:
Nepozná; u každého session id si pamatuje, kdy bylo naposledy použité (výchozí nastavení je 1440 sekund). Pokud ten čas uplyne, session se zruší.
Vlado_z_vily
Profil *
juriad:
No jasně, ale když restartuju prohlížeč, tak 1440 sekund neuplynulo a stejně je přidělen nový sešn.
Alphard
Profil
Sessions jsou mj. závislé na platnosti cookies (s tím, že lze identifikátor přegenerovat, což se někdy dělá třeba při přihlášení uživatele), přenášení session id v url je obvykle zakázané. Platnost pak závisí na platnosti samotných sessions souborů na serveru a zároveň na platnosti cookies v prohlížeči. A práve u cookies lze nastavit platnost do zavření prohlížeče.
Vlado_z_vily
Profil *
Čili je to v podstatě závyslé na prohlížeči a na tom jak ten se k těm koký zachová. Takže když ty koký změnim můžu se vrátit k původnímu sešnu i po vypnutí prohlížeče, nebo si vzít cizí sešn?
Fisir
Profil
Reaguji na Vlada_z_vilyho:
koký
Správně je to [kukýs].
Vlado_z_vily
Profil *
Fisir:
A jo.
juriad
Profil
Vlado_z_vily:
Pokud se v nejjednodušším případě nějak dozvíš platné session id nějakého uživatele, můžeš se za něj vydávat.
Ano je to závislé na prohlížeči, nicméně všechny běžné prohlížeče se chovají stejně. Nic ti však nebrání ti třeba firefox opatchovat tak, aby cookies nemazal :) Pak by session pokračovala i po jeho restartu (pokud nevyprší časový limit na serveru).

Kde jsi prosím tě potkal termíny „koký“ a „sešn“?
Alphard
Profil
Použít cizí cookies je právě problém bezpečnosti. Používání https protokolu má zabránit odchycení dat po cestě, zákaz přenosu identifikátoru v url je kvůli sdílení z nevědomosti a občasné přegenerování identifikátoru má bránit tomu, aby šlo použít ukradenou cookie (tak nějak se doufá, že ji útočník nezíská včas).
Samozřejmě je lepší neodhlašovat se zavřením prohlížeče, ale využitím (zpravidla odkazu) Odhlásit. Aplikace si zneplatní sessions samotnou na serveru a stará cookies je k ničemu.
orlando
Profil *
juriad:

Kde jsi prosím tě potkal termíny „koký“ a „sešn“?

Já když ta slova píšu správně tak mi to vždycky strašně dlouho trvá. Omlouvám se.

Alphard

Aha a tak děkuji... a pokud budu nějakým způsobem kontrolovat jestli přihlášená ipadresa je ta, která získala původní sessions a pokud ne, tak zničim sessions, tak tomuto zneužitý naprosto zabráním?
juriad
Profil
orlando:
Kontrola IP adresy tě neochrání před bráchou na vedlejším počítači. Nejspíš bude mít stejnou IP adresu.
Pokud po každém požadavku použiješ funkci http://php.net/manual/en/function.session-regenerate-id.php, bude se session id pořád měnit a útočník téměř nebude mít šanci odchycené session id použít.

Zneužít půjde skoro vždy, byť často s extrémní námahou a jen za určitých předpokladů. Třeba člověk na společné wifi ti může podvrhnout téměř cokoli. Od toho je právě šifrování podpořené certifikační autoritou (HTTPS).
orlando
Profil *
session_regenerate_id aha tak děkuji. https se mi právě nechce kupovat, protože to se nějak platí nebo něco ten cestifikát a když se prohlásim za certifikační autoritu sám, tak jsem pro prohlížeče nedůvěryhodnej. takže se to snažim vyřešit bez toho. no děkuji za informace.
midlan
Profil
orlando:
Použijte certifikát od StartSSL, je zdarma.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: