J'ai fait des recherches pour trouver des informations sur la sécurité de session en PHP, j'ai trouvé des trucs sympas mais je ne suis toujours pas sûr que ce soit correct pour la protection de session contre les attaques courantes.Vérification de session sécurisée
public static function session_start()
{
ini_set('session.cookie_httponly', 1);
ini_set('session.session.use_only_cookies', 1);
ini_set('session.entropy_file', '/dev/urando');
ini_set('session.cookie_lifetime', 0);
ini_set('session.cookie_secure', 1);
if(session_status() != 2) session_start();
//fixation security step
if(!isset($_SESSION[self::$_CHECK_KEY]) || $_SESSION[self::$_CHECK_KEY] !== self::$_CHECK_VAL)
{
session_regenerate_id();
$_SESSION[self::$_CHECK_KEY] = self::$_CHECK_VAL;
}
//Hijacking secuity step
if(isset($_SESSION[self::$_USER_AGENT]))
{
if(self::CryptPass(
$_SERVER['HTTP_USER_AGENT'],
self::$_USER_SALT,
$_SESSION[self::$_USER_AGENT])
!== $_SESSION[self::$_USER_AGENT])
{
$this->ReqLogin = true;
}
}
else
{
$_SESSION[self::$_USER_AGENT] = self::CryptPass($_SERVER['HTTP_USER_AGENT'], self::$_USER_SALT);
}
}
Donc, je veux savoir est-ce que je peux faire mieux? Il y a des choses que je ne devrais pas faire?
regardez ici http://stackoverflow.com/questions/328/php-session-security –