Witam. Oto mój kod związany z systemem sesji ma na mojej stronie. Chodzi tu o przechowywanie zmiennej z identyfikatorem użytkownika oraz czasem, po którym sesja wygasa:
if (!isset($_SESSION['inicjuj'])){ // 1 zabezpieczenia sesji $_SESSION['inicjuj'] = true;
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR']){ // 2 zabezpieczenie sesji
header("Location: ../index.php?page=glowna"); }
$intTimeoutSeconds = 600; // ustawienie czasu sesji
if (!isset($_SESSION['zalogowany'])) { // jeśli zmienna nie jest zarejestrowana $_SESSION['zalogowany'] = 0; // przypisz jej początkową wartość
}elseif(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time()){
if($_SERVER['PHP_SELF'] != '/index.php'){
header("Location: ../index.php?page=glowna&sesja_wygasla=tak"); }else{
header("Location: ../index.php?page=glowna"); }
}
$_SESSION['intLastRefreshTime'] = time();
if($_SESSION['zalogowany'] == 0 && $_SERVER['PHP_SELF'] == "/game/index.php"){ // jesli uzytkownik nie jest zalogowany
header("Location: ../index.php?page=glowna"); }elseif($_SESSION['zalogowany'] != 0 && $_SERVER['PHP_SELF'] == "/index.php"){ // podobnie jak wyzej
header("Location: game/index.php?page=main"); }
Czy kod jest w miarę optymalny? Czy coś w nim trzeba zmienic? Jak narazie działa ale wydaje mi się ze jest trochę za długi i że ma jakieś błędy... Czy mam rację? Czy można go jakoś bardziej zoptymalizować czy jest ok?