Tie*_*eme 4 php security session-cookies
我正在运行https网站,并希望在php.ini中打开这些以提高安全性:
session.cookie_httponly = 1
session.cookie_secure = 1
Run Code Online (Sandbox Code Playgroud)
我可以在网上找到很多关于这方面的信息,但是没有关于打开它时旧会话ID的持久性.
可以切换这个导致自动注销的用户,因为php现在需要安全的cookie,但登录的用户没有那些..只是在切换后?
有趣的是,我已经为我职业生涯中使用HTTPS的数百个网站改变了这一点,并且从未让所有人都记录下来.
这些.ini设置通常应用于新的会话cookie,并且secure标志是供浏览器知道不通过纯文本HTTP传输.它不应该有任何追溯后果.
用于session_start()调用C函数的代码php_session_start()(在大多数情况下)检查$_COOKIE.
cookie处理的代码依赖于SAPI,但不包含任何特定的逻辑,如果" secure未设置,请立即丢弃它".
除非包含此逻辑的一些奇怪的SAPI代码,最可能发生的是不再将cookie发送到缺少HTTPS的HTTP端点,因此似乎用户正在注销(但只有当他们不在任何地方使用HTTPS时) .
简而言之: