Na szybko: Bezpieczeństwo sesji
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
