![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 287 Pomógł: 10 Dołączył: 22.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
Czy sesje działają na IP komputera, na którym była stawiona dana zmienna $_SESSION na ileś tam, zauważyłem ostatnio, że po jakimś czasie bodajże kilkadziesiąt minut, zmienna resetuje mi się z powrotem na Default. Jest to dla mnie bardzo ważne iż oglądający bez tego raczej nie będzie mógł swobodnie oglądać strony. Czy lepsze będzie wykorzystanie Cookies? Jeżeli tak to jak zapisać zmienna i odczytywać ją przy każdym wejściu na stronę. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 9 Dołączył: 16.02.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ale czemu używasz tu javascriptu?
To wszystko w php się robi. Oczywiście można w javascript zapisać cookie tylko po co? Logowanie - schemat logiczny: Kod jeżeli wysłano formularz { - wyczyść wysłane dane ze śmieci i prób "hackerskich" - sprawdź czy podany login i hasło są poprawne - komunikaty o błędach zapisz do zmiennej np $error } jeżeli nie wysłano formularza LUB wysłano formularz ale są błędy { - jeżeli są błędy to je pokaż ($error) - pokaż formularz } jeżeli wysłano formularz I nie ma błędów { - zapisz plik cookie proponuję zapisanie dwóch plików cookie: 1. Unikalny ID użytkownika z bazy - setcookie("user_id",$id,0); 2. Zaszyfrowane hasło - setcookie("pass",md5($haslo),0); - pokaż komunikat o zalogowaniu } Następnie tworzysz skrypt który sprawdza czy użytkownik jest zalogowany. Ten skrypt musi byc uruchamiany na początku, wszędzie tam gdzie dostęp ma tylko zalogowany. Skrypt zarówno sprawdza czy jest plik cookie jak i czy są w nim poprawne wartości. Pamiętaj że cookie jest na dysku usera, i każdy może próbowac przy nim manipulować. Kod if ($_COOKIE['user_id']) { - sprawdz czy użytkownik o podanym ID istnieje w bazie - oraz sprawdz czy hasło z cookie zgadza się z tym z bazy mysql_query("select count(*) from users where id=".$_COOKIE['user_id'].' and md5(haslo)=".$_COOKIE['pass']."); } Jak zapytanie zwraca zero to znaczy że cookie nie pasuje i trzeba gościowi zabronić dostepu i wylogować. Oczywiście to najprostsza wersja. Chodzi o zasadę. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 10:35 |