i did search around to find some informations about session security in PHP, ill found some nice stuff but iam still not sure if this is right and secure for session protectin against common attacks.
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);
}
}
So i want to know is there anything i can do better? There are things i shouldnt do?