Autor Zpráva
Taine
Profil *
Ahoj,

na netu jsem nasel par clanku vysvetlujicich spravu prihlasujicich se uzivatelu pomoci sessions, timto zpusobem:

1. overit zadane jmeno a heslo podle databaze
2. pokud jsou udaje platne, vytvorit session a zaregistrovat rekneme uzivatelske jmeno
3. na zacatku skriptu pak jen kontroluje, zda je dana session zaregistrovana

Me by zajimalo - je to bezpecne? Nemuze si zly uzivatel (podari-li se mu zjistit uzivatelske jmeno daneho uzivatele) vytvorit danou session sam a takto jednoduse system obejit? Pripadne, jakym zpusobem se tento problem resi spravne?

Diky Taine
Radek9
Profil
Já do session uložím post a ověřuji až session. A ne post.
Nox
Profil
Taine
Uživatel může vytvořit jenom cookie se SESSION ID a musel by tipnout správné ID (tj. nějakých 40 míst nebo kolik),
obsah sessionů je uložený na serveru

Jinak je dobrý používat session_regenerate_id, pak kromě session s loginem udělat třeba session s hashem IP příp. prohlížeče
a odhlásit a zrušit sessiony, pokud se obsah nebude shodovat s aktuálníma hodnotama

Víc je třeba na googlu, wiki - session hijacking, session fixation, session poisoning
Lamicz
Profil
Nox: IMHO 32 znaku - MD5 hash. 40 znaku je mmch. SHA 1
Taine: Je to vlastne jen otisk souboru, ktery je na disku serveru a jsou v nem ulozeny informace, ktere predavas - jako serializovane pole myslim. Na 99 procent se dnes predava v COOKIE, druha moznost je GET jako PHPSESSID (nejcasteji), coz je nebezpecne uz jen tim, ze je to videt (drive byly problemy ve vyhledavacich, protoze na stejny obsah vede teoreticky nekonecne URL s tim ruznym PHPSESSID, dnes uz to umi filtrovat)
Majkl578
Profil
Nox
session_regenerate_id? obcas se mi zda, ze nekteri jsou az moc paranoidni. > http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=77778&forum=9&page=-1#18

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:

0