【问题标题】:JS - How to update cookies to samesite noneJS - 如何将 cookie 更新到同一个站点 无
【发布时间】:2021-05-19 04:38:14
【问题描述】:

我正在使用第三方 js 脚本。第三方脚本设置了 cookie,但没有将它们设置为 samesite=nonesecure。这是有问题的,因为稍后会向该第三方发出呼叫。我在 chrome 开发人员面板中得到“问题”,上面写着Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute。它告诉我我有 18 个 cookie 从每个请求中被过滤掉,因为 sameSite 属性默认为 Lax

问题:是否有办法更新给定域下的所有 cookie 并将它们的 sameSite 属性设置为 None?

【问题讨论】:

    标签: javascript cookies


    【解决方案1】:

    如果域与 JavaScript 源的域匹配,您可以更新 cookie (https://developer.mozilla.org/en-US/docs/web/api/document/cookie)

    在 javascript 中更新 cookie 你可以这样做:

    document.cookie = your_old_cookie + "; Secure; SameSite=None; path=/";
    

    【讨论】:

      【解决方案2】:

      我建议使用cookiejs 并运行以下脚本

      document.cookie.split(';').map(cookie => {
       const _cookie = cookie.split('=')
       Cookies.set(_cookie[0], _cookie[1], { sameSite: 'none' })
      })
      

      请注意,即使在此处未指定任何内容,更新的浏览器也会将“Lax”设为默认值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 2020-12-16
        • 2021-06-29
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 2013-07-08
        相关资源
        最近更新 更多