Sigurnost sesije

Pozdrav!

Dali korisnik može mjenjati podatke koji su spremljeni u session?

Npr.

kad se korisnik loguje na sajt u session mu se sprema id od korisnika

$_SESSION[‘id_korisnika’]=$sql[‘id_korisnika’];

i sad po tim id provjerava se dali je korisnik admin.

E sad kad bi korisnik stavio npr u session id od administratora npr 1 imao bi pristup administraciji.

Ako se oćeš već time zamarat, evo malo preporučenog štiva koje govori o tome što je to sesija i kako ustvari funkcionira prijenos podataka na internetu. Engleska verzija ima malo više info pa i nju pogledaj.

Dali korisnik može mjenjati podatke koji su spremljeni u session?
Ovo što si napisao ispod je dio tvog php koda, a njemu korisnik nema pristup.

Naslov je možda bolje pitanje… sigurnost sesije. Tu opet možeš odgovorit i sa da i sa ne. Sva “hakanja” rade se na nivou sesije. Google “session hijacking” daje neke info o tome. Opet ako treba odgovorit dal je tvoj server siguran od mog “hakanja” (ili hakanja većine ljudi s ovog foruma) onda nemaš problema. Da bi bilo ko mogao nešto tako napravit mora znat kako tvoj sustav radi. Ako ti znaš što radiš onda je teško da ti neko može uletit u session, ako opet ne znaš to ne mora bit tako loše, sjetio se što jedan rukometni golman rekao: “Najteže branit sedmerac onome ko ne zna igrat jer ni on sam ne zna kamo mu ide lopta”.

Ako sam razvijaš neki sustav prosurfaj kako radit upite prema bazi da su relativno sigurni, isprobaj ako ti sql injection prolazi i slično.
Ako koristiš postojeći prozivod, cms ala joomla, wp ili što već pretplati se na obavijesti o pronađenim exploitima, najčešće problem u nekim komponentama pa samo prosurfaj dal sigurnoto što instaliraš na server.

Sesija je na strani servera i korisnik joj ne može pristupiti, za razliku od COOKIEa koji je kod klijenta.

e dobro je onda ako nemogu korisnici mjenjati podatke spremljene u session, jer u mene u skripti za login kad se korisnik loguje u session mu se sprema id od korisnika (id iz mysql baze) i po tim id provjerava se dal je korisnik logovan i provjerava se u bazi dal je korisnik admin itd.