Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Sesja a bezpieczeństwo
d.stp
post 29.01.2015, 17:25:31
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


Przy poprawnym logowaniu mam coś w stylu:

  1. $_SESSION['logged'] = true;
  2. $_SESSION['login'] = $_POST['login'];


a na ograniczonych dostępem podstronach:

  1. if (!isset($_SESSION['user_logged'])) header();


czyli taki standard.

Teraz tak sobie myślę to przecież jak user usunie sesje user_login a zostawi samo logged to będzie "anonimowy" u mnie na stronie, tak? Czy samo to że dodam do sprawdzania czy istnieje również sesja z loginem wystarczy? robię mase rzeczy po tym loginie z sesji, a przecież tą wartość też można podmienić...

powiedzmy że znam login administratora strony i mogę zmienić wartość sesji "login" na jego login?
Go to the top of the page
+Quote Post
Crozin
post 29.01.2015, 17:37:55
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Użytkownik nie ma możliwości ingerencji w dane trzymane po stronie serwera (sesja).
2. Twój mechanizm sprawdzania niczego nie blokuje - wysłanie nagłówka, nie zatrzymuje działania skryptu.
Go to the top of the page
+Quote Post
d.stp
post 29.01.2015, 17:47:17
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


Chyba nie zrozumiałem pkt. 2 biggrin.gif ten mechanizm sprawdzania ma działać na zasadzie że jak jest user niezalogowany a wejdzie w jakąś tajną podstronę to ma go przenieść na główną.
Go to the top of the page
+Quote Post
Crozin
post 29.01.2015, 17:57:06
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jeżeli cały Twój kod ogranicza się do czegoś w rodzaju:
  1. if (!isset($_SESSION['user_logged'])) {
  2. header('Location: ...');
  3. }
To nie jest to żadne zabezpieczenie. Musisz jeszcze przynajmniej zatrzymać wykonywanie skrypt, np. przy pomocy exit. Funkcja header jedynie ustawia nagłówek HTTP i nie ma najmniejszego wpływu na dalsze wykonywanie kodu, a przeglądarka może go kompletnie zignorować.
Go to the top of the page
+Quote Post
d.stp
post 29.01.2015, 17:59:00
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


O kurcze, tego to nie wiedziałem. Myślałem że po header() skrypt się kończy. hmm, czyli samo exit/die wystarczy po header() ?
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:50