Autor Zpráva
Pan_snek
Profil *
Dobré odpoledne,
mám jedno přihlášení, které využíva session relace a ověřuje z DB IP adresu, myslel jsem si, že to vše funguje , ale zjistil jsem, že to má problémy v IE6 (ani si to neškrtne)....

v IE7 se to chová tak, že po přihlášení se uloži do pole session id + cas prihlaseni + ip adresa + login (jmeno) uživatele ....

jenže v IE6 to rovněž uloži do DB potřebné data, ale už to při přechodu na další stranku nefunguje a pořád to generuje nove a nove session id , takže to stare k ověření je už neplatné a nefunguje to (v IE7 to nedela), pak to cele v IE6 nefunguje ....

zkousel jsem to různě umazat upravit, ale nic nepomohlo ...

na každé strance mi to začíná vždy :


$SN = "autorizace";
Session_name("$SN");
Session_start();
$sid = Session_id();

// tady je přihlaseni k DB

// pak to overi session a IP z DB

$result=mysql("$DBName","SELECT * FROM user_admin_a WHERE id='$sid' AND ip='$ip'"); // overi session a ip
$num_rows = mysql_num_rows($result); // vrati pocet radku nalezenych

if ($num_rows == "0") {
exit; // pokud neni nalezeno v DB nic přerusit script
} else {
// pokud je nalezena IP a sesion id zaktualizuj cas přihlášení a pokracuj dale
$result=mysql("$DBName","UPDATE user_admin_a SET date = $cas_prihlaseni WHERE id='$sid' AND ip='$ip'");
}

No v IE7 funguje na 100% v IE6 mi to v SQL dotazu nikdy nevrati, že neco se nalezllo (v DB to je v ie6 uloženo také) ... a $sid (session id) se porad po kliknuti na strance v IE6 generuje nove a nove ... proto to pada .. v ie7 se to tak nechová ..

Je špatny zapis začatku u spušteni session ? Nebo v čem mylite, že to vězí ? Tento začátek kodu mam na každé strance stejný, kde chchi ověřovat platnost přihlašeneho ...


děkuji za info co s tím.
Pan_snek
Profil *
a jeste jedna zajimavost .... v IE6 na localhostu, když to zkousim u sebe v PC to funguje, na serveru už ne ....

Nevite v čem je to tedy rozdilne od IE6 a 7 ? nebo jestli tam nemam chybu ... kterou 6ka nerozbehne ...

:(
joe
Profil
1) Nechápu proč máš v db u uživatelů sessions ID.
2) Možná je to tím, že po každém načtení stránky voláš funkci session_id() i přes to, že session ID už máš uložené v sessions, tak proč to volat znovu.

Já bych do db vůbec žádné session ID nedával.
Pan_snek
Profil *
joe

uložene to nebude, protože se mi nic pod tim nevypisuje když to dam pryc ! sid v Ie6 nic nezobrazuje.

proste to cele nefunguje ... v IE6 ja to nechapu už ...

nemate nekdo odkaz na dobry clanek ? tohle je k nicemu ,....

proste session pri loginu zaregistruju na dalsi strance v IE 6 mizi (a id se generuji dokola naove) ... kdyby to bylo preci spatne nemohlo by to v IE7 nebo v Mozille fungovat ...

a sid do DB ukladam kvuli tomu, aby se preci overilo, že je to stejna relace od jednoho uživatele (aby se tma nikdo nehacknul)
Pan_snek
Profil *
jeste jedna vec ... nemužeto byt v pocitaci ? ta IE6ka beži na jinem stroji .... ?
joe
Profil
Pan_snek
1. Nechal bych si vypsat jaké je sid hned po session_start(); a pak ho znovu vypsal třeba po vykonání dotazu do databýze. Zárveň pak zkontroloval, jestli se v databázi takové sid nachází.

2. Nejsem si jistý, ale připadá mi, že v tom tvém případě ukládání sid do databáze nic neřeší. Pokud někdo získá sid, tak se tam stejně dostane nebo ne? Do databáze totiž ukládáš pořád to samé sid.

jeste jedna vec ... nemužeto byt v pocitaci ? ta IE6ka beži na jinem stroji .... ?
Jak jako že běží na jiném stroji? :)
Leo
Profil
Co treba se nejdriv podivat na http komunikaci obou prohlizecu a serveru? To je u takovych veci zaklad. Napr. standalone verze (nevytunene) IE6 maji problemy s cookies, a pak se vam session id neprenese. Leo

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: