检测到PHP会话劫持

问题描述 投票:0回答:2

我有这个代码:

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

一切正常。但每次我登录(每24小时一次),我都会收到错误消息。用户代理是在改变什么?

谢谢你的帮助。

php security session session-hijacking
2个回答
0
投票

会话的有效期限为http://www.php.net/manual/en/session.configuration.php,通常为几分钟或几小时


0
投票

任何能够劫持会话的人(即通过嗅探未加密的HTTP)都会在经过身份验证的用户出现后拥有该王国的密钥。

HTTP_USER_AGENT?是的,这也是明确发送的,攻击者可以欺骗它。窃取/欺骗会话cookie的任何MitM应用程序通常也会冒充用户浏览器的用户代理。

这里唯一的解决方案是HTTPS,现在由于Let's Encrypt而免费。

© www.soinside.com 2019 - 2024. All rights reserved.