Обнаружен перехват сеанса PHP

У меня есть этот код:

if (isset( $_SESSION['user_agent'] )) {
    if ($_SESSION['user_agent'] != md5( $_SERVER['HTTP_USER_AGENT'] )) {
        die('Session error.');
    }   
}

Все отлично работает Но каждый раз, когда я вхожу (один раз в 24 часа), я получаю ошибку. Меняется ли пользовательский агент или что-то?

Спасибо за вашу помощь.

2 ответа

Время жизни сессий ограничено http://www.php.net/manual/en/session.configuration.php обычно минуты или несколько часов

Любой, кто способен перехватывать сеансы (например, перехватывать незашифрованный HTTP), получает ключи от королевства, как только проходит аутентифицированный пользователь.

HTTP_USER_AGENT? Да, это также отправлено в открытом виде, и злоумышленник может просто подделать его. Любое приложение MitM, которое крадет / подделывает сеансовые куки-файлы, как правило, также выдает себя за пользовательский агент браузера пользователя.

Единственное решение здесь - HTTPS, которое теперь бесплатно благодаря Let's Encrypt.

Другие вопросы по тегам