Autor Zpráva
Sess
Profil *
Zdravim, na hostingu ic.cz si testuju již vytvořené stránky, ale mám problém s odhlašováním. Přihlášení dělám pomocí session, který se vkládá do adresy a při každém přechodu ověřuje ip atd. Někdy mě odhlásí při nějaké akci. Všechno mám dobře a proto se přihlásim a udělám stejnou akci a všechno vpořádku. Prostě, někdy mě odhlásí a někdy ne, akce se odehrává ve stejnem časovém intervalu a postup je naprosto stejný. Je to chyba hostingu? Jinak vážně nevím kde je chyba :-( Děkuju za radu

Moderátor nightfish: Přesunuto z tématu O této diskusi.
mckay
Profil
Sess:
Testování IP bych vypl, některé podniky mají uvnitř hodně sofistickou síť, která tě pustí na net přes zrovna uvolněnou IP, takže kdyby tu aplikaci použil někdo s takovouhle síti, moc by si neškrtl.

Jestli se to odehrává ve stejnou dobu a při stejné operaci, máš tam chybu tam - hosting je ic.cz k ničemu, ale tentokrát to praveděpodobně není zdroj chyb.
panther
Profil
Sess:
Všechno mám dobře
pokud by bylo všechno v pořádku, script by pracoval a dělal to, co od něj čekáš. Pravděpodobně tam tedy bude chyba. Jestli myslíš, že ne a neukážeš nám kód, rady se nedočkáš.
Sess
Profil *
mckay:
Testování IP bych vypl,
Souhlasim. Jsem to špatně napsal. Neni to ve stejnou dobu, ale chtěl jsem tím napsat, že to neni vypršením session. K ověřování podle ip: při přihlášení se provede zápis ip adresy která se během přihlášení ověřuje a pokud by se přihlásil někdo za něj, tak by ho vlastně odříznul. Spíš je to ochrana proti dvoum stejnym přístupům.
Sess
Profil *
Jinak napsáno: 2 uživatelé nesmí být zároveň pod jednim účtem.
Sess
Profil *
$code = $_GET["code"];
if($code) {
   $sql = mysql_query("SELECT * FROM $MySQL_tabulka WHERE id='".$_SESSION["id"]."'") or die(mysql_error());
   $vys = mysql_fetch_array($sql, MYSQL_BOTH);
   $rozdil = time() - $vys["latest_events"];
   if(($rozdil > 3600) or ($rozdil < 0)) $povol="ne";
   if(($vys["pass"] == $code) && ($povol !="ne"))
   {
      $time=time();
      mysql_query("UPDATE $MySQL_tabulka SET latest_events='$time' WHERE id='".$_SESSION["id"]."'");
      $_SESSION["url"] = "id=".$_SESSION["id"]."&amp;code=".$code;
      unset($_SESSION["error"]);
} else {
      mysql_query("UPDATE $MySQL_tabulka SET online='0',last_access=NOW() WHERE id='".$_SESSION["id"]."';");
      header("Location: user/logout?co=inactive");
   }
}

if ((isset($_SESSION["username"])) or (isset($_SESSION["id"]))) {
  $sql = mysql_query("SET NAMES 'cp1250';");
  $sql = mysql_query("SELECT * FROM $MySQL_tabulka WHERE nick = '".$_SESSION["username"]."' OR id = '".$_SESSION["id"]."'");
  $vys = mysql_fetch_array($sql, MYSQL_BOTH);
}
dan55-pryc
Profil *
Sess:
Nevím jestli to je chyba IC nebo nastavením hostingu, ale mě to fělá taky na všech 5ti webech s IC
Sess
Profil *
hmm, tak a je tu jádro problému :-) Ted to běhá jak má, ale jak dlouho? Myslím si, že je ic tak už zatěžován, že jim začíná blbnout zápis serveru.
Moderátor Joker: Upraveno "hmm", 3x m přivolává moderátory.
AM_
Profil
mckay:
některé podniky mají uvnitř hodně sofistickou síť
mohu se zeptat, co je sofistická síť? nevěděl jsem, že staří řekové už věděli něco o síťování počítačů :)
Sirius
Profil
Sess:
Dělo se mi to samé po přesunutí webu z localhostu, kde vše fungovalo jak mělo. Doteď pořádně nevím, v čem byl problém a proč to někdy (při naprosto totožnejch akcích) odhlásilo a někdy ne, ale od přesunutí session_start() na úplný začátek hlavního souboru, před všechny headery a includy, je po problémech.
fritol33
Profil
Problém na IC je také s tou jejich vkládanou reklamou...
VKládají jí myslím hned za <body> takže pokud máte program napsán tak blbě, že se startují po odeslání (jde to?), tak to rozhodně nepůjde.
Takže jak řekl Sirius dát to úplně jako první příkaz a doufat, že to půjde. Nebo obětovat pár stokorun a koupit si levný hosting...
IE
Profil *
Asi je to problém jen ic.cz, taky mě to tam teď asi 2-3 dny samo odhlašuje... Jinde to funguje správně.
TomasJ
Profil
Reaguji na AM_:
nevěděl jsem, že staří řekové už věděli něco o síťování počítačů :)
Problém je v tom, že Internet nezaložili řekové :)
Nox
Profil
TomasJ:
...ono to nebylo myšleno moc vážně

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: