打开session.cookie_secure会注销我的用户吗?

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

我正在运行https网站,并希望在php.ini中打开这些以提高安全性:

session.cookie_httponly = 1
session.cookie_secure = 1

我可以在网上找到很多关于这方面的信息,但是没有关于打开它时旧会话ID的持久性。

可以切换这个导致自动注销的用户,因为php现在需要安全的cookie,但登录的用户没有那些..只是在切换后?

php security session-cookies
2个回答
5
投票

有趣的是,我已经为我职业生涯中使用HTTPS的数百个网站改变了这一点,并且从未让所有人都记录下来。

这些.ini设置通常应用于新的会话cookie,secure标志用于让浏览器知道不通过纯文本HTTP传输。它不应该有任何追溯后果。

session_start()的代码调用一个名为php_session_start()的C函数(在大多数情况下)checks $_COOKIE

cookie处理的代码是SAPI-dependent,但是不包含任何特定的逻辑“如果没有设置secure,现在就把它丢弃”。

除非包含此逻辑的一些奇怪的SAPI代码,最可能发生的是不再将cookie发送到缺少HTTPS的HTTP端点,因此似乎用户正在注销(但只有当他们不在任何地方使用HTTPS时) 。

简而言之:

  • 不,它不应该记录用户,除非他们没有通过HTTPS浏览(他们应该这样做)
  • 但是,如果发生这种情况,暂时的不便值得获得安全保障。

0
投票

是的,它会将它们记录下来,因为它们的会话将结束。

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