Skip to content

Na szybko: Bezpieczeństwo sesji

by matergames on Marzec 12th, 2009

Na szybko, bo jeszcze muszę coś dla TGO zrobić – inaczej czuje że albo Oliwier albo ktoś inny by mnie zadźgał ^^
A więc dzisiaj pomówimy o małym skrypcie który (przynajmniej trochę) zwiększy bezpieczeństwo od strony użyszkodników.
Zaczynajmy :)

if (!isset($_SESSION['start'])){
session_regenerate_id();
$_SESSION['start'] = true;
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['ip'] !== $_SERVER['REMOTE_ADDR']){
session_regenerate_id();
unset($_SESSION["logged"], $_SESSION["nick"]); 
}<br />

Kod już pewnie wiecie gdzie wkleić :)
A więc pora na małe objaśnienie – jeśli zmienna sesyjna „start” nie ma wartości true, to ustalamy nowe ID dla sesji i przydzielamy odpowiednie wartości.
Potem sprawdzamy czy IP zapisane w sesji zgadza się z tym z którego wchodzi user – jak nie, to ustalamy nowe ID sesji i wylogowywujemy delikwenta.
Zapobiegnie to tzw. „session hijacking” (zdzielcie mnie jeśli coś tutaj namieszałem).
Można dodać autowylogowywanie jeśli user nie był aktywny od powiedzmy 10 minut – to przynajmniej w pewnym stopniu powinno rozwiązać problem userów, którzy korzystając z kafejki nie wylogowywują się.
Oczywiście (a właściwie niestety) żadne skrypty nie zastąpią mózgu, także warto gdzieś na stronie umieścić mały tekst o bezpieczeństwie konta itp. – nawet jeśli szanse, że ktoś go przeczyta są znikome

Podziel się:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Twitter
  • Add to favorites
  • Blip
  • Flaker
  • Grono
  • Kciuk.pl
  • LinkedIn
  • Live
  • Slashdot
  • Śledzik
  • Wykop
No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS