首页 > 解决方案 > php.ini 设置不会使会话安全

问题描述

我已经配置了 php.ini 设置,如下所示并使用 PHP 7.4。

session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite =

但是这些设置不会将 cookie 的安全标志添加为 true。

我在控制台上看到这个错误:

Cookie “__tld__” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute.

我制作了 Jira Cloud 应用程序,而 Jira Cloud 与我的应用程序位于不同的服务器中。一切都适用于 Firefox,但不适用于 Chrome 或 Edge。

做什么?

标签: phpphp-7.4

解决方案


错误消息显示一个名为 cookie 的警告__tld__,但您的注释表明您的默认会话 cookie 名称PHPSESSID

所以这个 cookie 不是由PHP 的会话管理功能创建的,也不会受到这些设置的影响。会话和 cookie 不是一回事,没有证据表明这个 cookie 与会话有任何关系。

您需要找到在代码__tld__中设置 cookie 的位置。如果它在您的 PHP 应用程序中,它可能会通过调用function ,它需要额外setcookie选项来指定“HttpOnly”、“SameSite”和“Secure”属性。

Cookie 也可以通过 JavaScript 设置,或者通过您页面中包含的第三方广告和跟踪脚本设置。


推荐阅读