ďťż

[PHP] Zabezpieczenie sesji

       

Podstrony


telcocafe

Witam.

Chciałbym zabezpieczyć używanie sesji w moim skrypcie. Wykodziłem sobie taki kawałek:
if(isset($_SESSION['browser']) && isset($_SESSION['ip']) && ($_SESSION['browser'] != $_SERVER['HTTP_USER_AGENT'] || $_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])){ header('Location: index.php?msg=Błąd autoryzacji.'); exit; } else { $_SESSION['browser'] = $_SERVER['HTTP_USER_AGENT']; $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; }

Ale doczytałem, że jeszcze przydaje się uzyć session_regenerate_id() zastanawiam się tylko kiedy mam to stosować?
Przy odświeżeniu każdej strony? Czy to nie będzie za bardzo wżynać serwera?



Regeneracja ID sesji polega na stworzeniu nowego pliku w katalogu tymczasowym na serwerze (w tym z sesjami) oraz wysłanie ciasteczka do przeglądarki (to tylko aktualizacja starego PHPSESSID). Z parametrem true usuwany jest poprzedni plik sesji z serwera (co jest raczej wymagane, gdy się chce zapewnić bezpieczeństwo, a już tym bardziej chce się regenerować ID sesji co odświeżenie strony).
Radziłbym raczej regenerować ID co, np., 3 minuty. Wtedy serwer by był mniej obciążony. Jednak takie zabezpieczenie jest potrzebne tylko wtedy, gdy na stronie użytkownicy mogą wstawiać własny kod, własne linki, a Ty tego nie filtrujesz lub robisz to niedokładnie.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.