Autor Zpráva
Marecek93
Profil *
Ahojte, ospravedlňujem sa za pravdepodobne hlúpu otázku, zaujímalo by ma či je možné "hacknut" SESSION. Spravil som si totiž na webu registráciu + prihlásenie a teraz riešim SESSION aby som vedel kto je vlastne prihlásený. Trápi ma, či je bezpečný tento zápis:
$_SESSION[nick] = $row[nick]
chcel by som vedieť či nie je nutné zahashovať vstupnú hodnotu nick resp. či je ako prihlásený užívateľ môžem nejakým spôsobom zmeniť $_SESSION[nick] = "Peter" napríklad na $_SESSION[nick] = "Admin".

Pridám sem ešte jednu amatérku otázku (nech kvôli tomu nezakladám ďalšiu tému)
Má takto zahashované heslo význam alebo to je podľa vás aj tak blbosť a zbytočnosť?
sha1(md5(sha1($_POST['pass'])));
han5vk
Profil
K tej session-> pokiaľ viem, tak samotnú hodnotu session nehackneš, pretože je uložená v súbore na serveri, kde beží web a klient na ňu nemá dosah. Avšak klient dostáva ako cookie PHPSESSID, ktorá identifikuje tento súbor. Čiže ak by niekto ukradol túto cookie, dokázal by sa vydávať za človeka komu ju ukradol. Aj preto sa používa HTTPS, s SSL (TTL), kde sa prenosy kódujú a Man In the Middle neodchytí cookie.

K tomu heslu-> skôr než trikrát hashovať (čo už samo o sebe nikto nerozlúšti späť) by bolo fajn ho soliť, pretože napríklad na md5 sú databázy s kódmi, a keby mal niekto heslo "apple", veľmi ľahko by sa to dalo uhádnuť odhashovaním.
Taps
Profil
Marecek93:
O zabezpečení session se můžeš přečíst na http://php.vrana.cz/zabezpeceni-session-promennych.php
Enko
Profil
Něco k hashování hesel najdeš na některé z prezentací Michala Špačka. Doporučuju!
http://www.slideshare.net/spaze/hashe-hesla-develcz-2013
Alphard
Profil
Enko [#4]:
K té prezentaci je dostupná i přednáška samotná, jako nejvhodnější řešení je uveden algoritmus blowfish a jeho použití jsme nedávno rozebírali v Šifrování/hashování hesel: algoritmus blowfish, nové funkce.

Spojování funkcí dohromady je častý nápad, už jsme tady viděli děsivé celořádkové kombinace sha1, md5 apod., skoro nikoho nenapadne udělat to (když už) nějak rozumně
for ($i = 0; $i < 20; $i++) $h = sha1($h);
ale kvůli různým kolizím může docházet k omezování množiny možných výstupů, což může být ve výsledku i horší.
Marecek93
Profil *
Ďakujem, chcel by som sa ešte raz spýtať na tie SESSION. Je teda bezpečné mať len $_SESSION[nick] = "Admin" alebo je lepšie spraviť to aspoň tak, že pri každom prihlásení sa užívateľovi priradí náhodný reťazec ktorý použijem ako identifikátor a následne dosadím namiesto nicku.
Jan Tvrdík
Profil
Marecek93:
Je teda bezpečné mať len $_SESSION[nick] = "Admin"
Ano, je to bezpečné.
Enko
Profil
Alphard:
K té prezentaci je dostupná i přednáška samotná
Ano, já vím, byl jsem na celodenním školení bezpečnosti pořádané Michalem Špačkem. Vůbec tuto přednášku doporučuju každému. Člověk si uvědomí spoustu drobností :)

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: