SpringBoot解决“此Set-Cookie标头未指定‘SameSite“届性,它默认为‘SameSite=Lax,必须为此SetCookie设置“SameSite=None“才能实现跨站点使用。

时间:2025-04-20 07:37:40
在yaml配置文件中声明即可(注意此做法不安全不是https请求将不会润许发送cookie)
注意:在设置 SameSite 为 None 的同时,需要保证使用 HTTPS 协议,否则会导致安全问题。
server:
  port: 8889
  servlet:
    session:
      : None
      : true

"samesite=none; secure" 是用于设置 HTTP Cookie 的参数。这个参数的作用是增强安全性和保护用户隐私。首先,samesite=none 的意思是允许跨站点发送 Cookie。在默认情况下,Cookie 只能在同一站点的请求中发送,不能用于跨站点操作。然而,某些场景,如用户进行第三方登录、使用社交媒体分享功能时,需要允许跨站点发送 Cookie。samesite=none 使得 Cookie 可以在跨站点请求中使用,提高了用户体验和功能可用性。其次,secure 表示 Cookie 的安全传输要求。只有当设置 secure 参数时,浏览器只会在使用 HTTPS 加密连接时将 Cookie 发送到服务器。HTTPS 是一种安全的加密协议,使用它可以保护用户数据在传输过程中的安全性,防止中间人攻击和窃取用户敏感信息。

另外为了防止XSS攻击建议可以将

server:
  port: 8889
  servlet:
    session:
      : None
      : true
      : true

这里的: true设置为true,为了防止JS脚本获取到cookie的值