Безопасность с помощью PHP-сессий

Я знаю, что об этом спрашивали миллиарды раз, но ям супер параноик / OCD о безопасности моего кодирования. Я'Я работаю над небольшим проектом. Данные сеанса будут содержать только:

user_id 1

user_name MyUserName

logged_in правда

csrf_token 87cc51ee94178df79cccce2aebc45d53

Вот'мой код Этобезопасный достаточно использовать на маленькой CMS?

session_start();

ini_set('session.cookie_httponly', 'On');
ini_set('session.cookie_secure', 'On');
ini_set('session.use_cookies', 'On');
ini_set('session.use_only_cookies', 'On');

$rand = rand(1, 10);

if ($rand != 1 || $rand != 3 || $rand != 5)
    session_regenerate_id();

$user_ip = md5($_SERVER['REMOTE_ADDR']);
$user_agent = md5($_SERVER['HTTP_USER_AGENT']);

if (isset($_SESSION['user_ip'], $_SESSION['user_agent'])) {
    $session_user_ip = $_SESSION['user_ip'];
    $session_user_agent = $_SESSION['user_agent'];

    if ($session_user_ip != $user_ip || $session_user_agent != $user_agent) {
        unset($_SESSION);
        session_destroy();

        die('Error');
    }
} else {
    $_SESSION['user_ip'] = $user_ip;
    $_SESSION['user_agent'] = $user_agent;
}

Затем для вызова сессий:

$_SESSION['user_id'] = 1;
$_SESSION['user_name'] = 'MyUsername'; // etc.

Extra InfoI '

Я буду использовать данные сеанса, чтобы проверить, есть ли у пользователя разрешения на что-либо. Пример:if ( user_has_perm( $_SESSION['user_id'] ) )

Заранее благодарны за Вашу помощь.

Ответы на вопрос(6)

Ваш ответ на вопрос