Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP, szybkosc dzialania serwera i sesja..., Szybkosc serwera a skrypt logowania
-Vinnie-
post 16.03.2005, 10:17:13
Post #1





Goście







Mam takie pytanie - może ktoś obeznany z zasadami działania php zna odpowiedź.

Napisałem sobie skrypt do logowania - jeżeli login i hasło było dobre wrzucał co trzeba do sesji, przeładowywał jeszcze raz ekran i wszystko było gut.

Po jakimś czasie nastąpiła konieczność zmiany serwera - na szybszy, lepszy i wogóle. I tu nastąpił problem - logowanie czasem działało, czasem nie. Totalny random - czasem 5 razy pod rząd nie łapał, a łapał za 6-tym. Czasem logował bez problemu kilka razy po sobie - żadnej reguły.

Zacząłem wypisywać komunikaty do debugowania - okazało się, że po podaniu hasła zapisywał co trzeba do sesji, ale jej zawartość znikała po przeładowaniu ekranu (to znaczy czasem znikała, czasem nie). Rozwiązanie wyszło metodą
prób i błędów - trzeba było o pół sekundy opóźnić proces przeładowania ekranu -
zawartość sesji na drugim ekranie istniała i nie było problemu.

I pytanie do kogoś kto zna wnętrze php-a - co się działo w procesie interpretacji kodu, że jeżeli za szybko przeładowywałem ekran gubiłem zawartość dopiero co zapisanej sesji?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
scanner
post 16.03.2005, 11:21:07
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Podaj odpowiednie fragmenty kodu. Wróżkami nie jesteśmy.
Podaj również wersje php i Apache na obu serwerach.

Obliguje Cię do tego punkt IV.2.d Regulaminu Forum.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
-Vinnie-
post 16.03.2005, 12:38:43
Post #3





Goście







Poprzednio - www.boo.pl
za phpinfo()

Server API Apache 2.0 Handler
php Version 4.3.10
Linux izyda 2.4.26 #5 SMP


Teraz - www.strefa.pl
phpinfo() jest zablokowane, a na stronie dogrzebałem się tylko do notki:

Przydatne informacje dotyczące skryptów php i CGI Na kontach STREFA.PL zainstalowany został skrypt php w wesji 4.2.2.
Serwer WWW działa w środowisku chroot, zaś pliki użytkowników tworzone są z atrybutami '700'. Zastosowane rozwiązanie pozwala na swobodny odczyt jak i zapis plików na serwerze.
Ze względów bezpieczeństwa zablokowane zostały niektóre funkcje systemowe, jak choćby POSIX_. Brak tej funkcji nie wpływa jednak na funkcjonalność samego parsera kodu php.

-----------------------------------------------------------

Kod nie jest jakiś wydumany:

if($act=="Login")
{
$res= *** wynik Selecta na bazie danych ***
$wart = mysql_fetch_row($res);
if ($wart=="") $errorR="1";
else
{

$HTTP_SESSION_VARS['zalogowany']=$wart[0];
$HTTP_SESSION_VARS['adresikony']=$wart[1];
.... i jescze pare takich linijek ...


}
}

*** Rozne inne funkcje, ktore sie nie wywoluja, bo sa na inne okazje ***

if($errorR=="")
{
?>
<script type='css/javascript'>
location.replace("index.php");
</script>
<?

}
else
{
....
}

-------------------------------------------------------------------------
Generalnie chodzilo o to,aby wrzucil wszystko do sesji i jezeli nie ma bledu przeniosl sie do indexa. tymczasem o ile tuz przed location.replace zawartosc sesji byla na miejscu, o tyle w index.php bylo juz czysto (czasem, bo czasem bylo wszystko ok. logowalem sie wielokrotnie w krotkim okresie czasu i nie wykrylem reguly). Pierwsze co zrobilem w trakcie debugowania to dodalem alert() przed location.replace i nagle wszystko zaczelo chodzic bezblednie. Gdy go usunalem skrypt znowu raz dzialal, raz nie. Potem w JS opoznilem przeladowanie używając setTimeout o pół sekundy i wszystkie problemy z czyszczeniem sesji zniknely.

W sumie chodzi, ale zapytałem z ciekawości czy może ktoś się z czymś takim spotkał. Na poprzednim serwerze - www.boo.pl - zjawisko nie występowalo.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:08