![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 20.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć!
Napisałem skrypt do logowania oraz kontroli sesji na każdej podstronie. Ale mam kilka pytań, skrypt wygląda mniej więcej tak: logowanie.html > loguj.php( tutaj użytkownik jest autoryzowany oraz zmienna superglobalna $_SESSION zostaje ustawiona na login usera, następnie user zostanie przekierowany za pomocą header location na inną stronę a jeżeli błędnie wprowadził dane to wysyłamy go opcją header location do logowanie.html) > glowna.php (tutaj następuję kontrola sesji, jeżeli zmienna $_SESSION nie jest ustawiona do leci user na logowanie.html za pomocą header location). A moje pytanie: 1) Czy używanie header(loation:) do kierowania userów jest bezpieczne? I czy tak powinno się kierować userów? Chciałbym możliwie najbardziej oddzielić html od php i w skryptach nie umieszczać wyników bez wcześniejszej autoryzacji za pomocą pliku przejściowego takiego jak loguj.php, który służy tylko do tego, żeby kierować ruchem (IMG:style_emoticons/default/smile.gif) 2) Czy kontrolę sesji na podstronach bezpieczniej byłoby sprawdzać w taki sposob: if(isset($_Session[login]) && isset($_Session[id_w_bazie])){ $sql= select id,login from jakas_tabela where id=$id_w_bazie and login=$ogin $wynik=db->query($sql) if($_SESSION[login]==$wynik[1] && $SESSION[id]==$wynik[0]) return true; else return false } else return false; Czy wystarczy samo if(isset($_Session[login]) && isset($_Session[id_w_bazie])) ? |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 3 Dołączył: 29.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Tak na szybko to zrobiłbym to tak: Oczywiście przekierowanie jak najbardziej, jednak przed przekierowaniem nie zapominaj o zabijaniu sesji i dla bezpieczeństwa generuj za każdym razem nowe id sesji.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 13:06 |