Witam
Mam takie pytanie. Jezeli tworze sesje to powstaje ID sesji. Skąd mamy pewnośc że jeżeli jest 1 mln użytkowników to ID się nie powtórzy??
W kursie PHP 5.3 została poruszona kwestia logowania. Jeżeli wpisze się w przeglądarkę content.php to mamy dostęp do zawartości bez danych użytkownika. Czy w praktyce aby temu zapobiec mozna uzyc warunku:
Możliwości jest dużo więcej niż 1 mln, dokładnie nie wiem jak jest generowany, ale domyślam się że na podstawie jakiś danych losowych, a że tego typu funkcje mają tak ogromną ilość kombinacji to prawdopodobieństwo powtórzenia się jest praktycznie niemożliwe.
Można tak zrobić, sesja jest przypisana do danego użytkownika, więc (jeśli $_SESSION['zalogowany'] == 1) to te 1 jest tylko dla tego zalogowanego, oczywiście wcześniej trzeba ustawić tą zmienną sesyjną.
Dzięki za odpowiedź. Pozwolę sobie zapytać się jeśli można o jedną kwestię. Mam problem z czymś takim co przedstawię w krokach:
1) Użytkownik się wylogował zobaczył ekran wylogowałeś się poprawnie, czyli sesja została zniszczona tak jak w kursie.
2) Odszedł od komputera pozostawiając ekran wylogowałeś się poprawnie
3)Do jego kompa przyszedł kolega i kliknął wstecz wtedy pomimo tego iż firefox nie dostał polecenia zapamiętania haseł pyta się nas czy przesłać dane ponownie. Jeżeli klikniemy przesłać TO LOGUJEMY SIĘ NA KONTO TEGO CO ODSZEDŁ.
Moje pytanie brzmi czy można temu zaradzić? Wywoływanie zdarzenia blokującego po kliknięciu przycisku wstecz to chyba nie najlepszy pomysł.
Możesz na to zaradzić. Wystarczy stworzyć timer... jeśli nie było akcji (osoba jest dalej na tej samej stronie) przez określony czas np. 15 minut to wartość zmiennej świadczącej o zalogowaniu np. $_SESSION['zalogowany'] zmieniasz na 0 lub całkowicie usuwasz daną sesję (tak w sumie najlepiej).
Pomimo faktu, że "kolega" odzyska sesję, nie będzie już mógł wykonać niczego no bo go w końcu wylogowało.
Dojdź do lekcji gdzie omawiam czas, a napiszesz to spokojnie.