让我们只考虑服务器对用户的信任。
session 固定:为避免固定,我仅在身份验证 (login.php) 中使用 session_regenerate_id()
session 劫持:对整个站点进行 SSL 加密。
我安全吗?
最佳答案
阅读 OWASP A3-Broken Authentication and Session Management .另请阅读 OWASP A5-CSRF ,有时也称为“ session 骑行”。
您应该在 php 头文件中使用此代码:
ini_set('session.cookie_secure',1);
ini_set('session.cookie_httponly',1);
ini_set('session.use_only_cookies',1);
session_start();
这段代码阻止了session fixation .它还有助于防止 xss 访问 document.cookie
,这是 Session Hijacking 的一种方式。可能发生。强制使用 HTTPS only cookie 是解决 OWASP 问题的好方法 A9-Insufficient Transport Layer Protection .这种使用 HTTPS 的方式有时被称为“安全 cookie”,这是一个糟糕的名字。还有 STS是一项非常酷的安全功能,但并非所有浏览器都支持(目前)。
关于php - session 劫持和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517350/