Zabezpieczenie sesji


(Konradnie1) #1

Witam czy to jest poprawne zabezpieczenie sesji?? Dodać coś czy jest złe??

<?php

include('dodaj/funkcje.php');

session_start();

if(!isset($_SESSION['logged']))  

{

session_regenerate_id();

$_SESSION['logged']=true;

$_SESSION['userip'] = $_SERVER['REMOTE_ADDR'];

}

 if(empty($_SESSION['zalogowanyuser']) )

 {

header("Location: index.php");

 }

else

 {

$login=spr($_SESSION['zalogowanyuser']);

include("dodaj/setting.php");

include("dodaj/statystyki.php");

 }

if($_SESSION['userip'] !== $_SERVER['REMOTE_ADDR'])

{

session_destroy();

header("Location: index.php");

}

Jeśli jest coś żle lub coś dodać to napiszcze co i jak zrobić.


(Adjweb) #2

Witaj, na pierwszy rzut oka wszystko wygląda okej, zastosowałeś "session_regenerate_id();" oraz sprawdzanie czy IP jest to samo - w tym przypadku należy wziąć pod uwagę userów mobilnych gdzie często może im się zmienić IP po przełączeniu do innego nadajnika, dlatego może warto sprawdzić jeszcze UserAgent całe przed zniszczeniem sesji ? albo dać oba zabezpieczenia.

W sesjach najgroźniejsze jest to gdzie je trzymamy, dlatego koniecznie zmień folder do przetrzymywania sesji z katalogu domyślnego na jakiś własny najlepiej poziom wyżej niż strona :slight_smile:


(Konradnie1) #3

A jak zmienić ten folder sesji??


(Adjweb) #4

Manual: http://php.net/manual/en/function.session-save-path.php

Pozdrawiam :slight_smile: