php - 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。
做什么?
解决方案
错误消息显示一个名为 cookie 的警告__tld__
,但您的注释表明您的默认会话 cookie 名称为PHPSESSID
。
所以这个 cookie 不是由PHP 的会话管理功能创建的,也不会受到这些设置的影响。会话和 cookie 不是一回事,没有证据表明这个 cookie 与会话有任何关系。
您需要找到在代码__tld__
中设置 cookie 的位置。如果它在您的 PHP 应用程序中,它可能会通过调用function ,它需要额外的setcookie
选项来指定“HttpOnly”、“SameSite”和“Secure”属性。
Cookie 也可以通过 JavaScript 设置,或者通过您页面中包含的第三方广告和跟踪脚本设置。
推荐阅读
- environment-variables - 如何在启动 pytest 之前取消设置(或隐藏)所有环境变量
- swiftui - 如何让 swiftui drop 委托被调用
- r - 如何在带有向量的函数中使用条件和停止函数
- scala - Windows 上的 jpackage:系统找不到文件,错误 103
- python-3.x - 在 Pandas DataFrame 中满足条件时范围内的平均数据点
- javascript - 带有子表单的Vue模态diaglog,提交数据
- javascript - 用于将数字转换为相关的希伯来字母等值的 Google Apps 脚本,反之亦然
- javascript - MiniCSSExtractPlugin 不会从 definePlugin 条目中提取样式
- vue.js - 在特定页面上渲染某些东西
- visual-studio-code - 在 VSCode 中使用 cmder 作为默认 shell