是否可以代表用户在我的网站上禁用第三方cookie?

问题描述 投票:3回答:1

我有一个网站从另一个网站加载资源。我已经能够确定:

  • 第三方网站将cookie放置在用户的浏览器上。
  • 如果我在浏览器设置中禁用了第三方cookie,则第三方网站将不再能够在浏览器中放置cookie。
  • 资源仍然可以正常工作。

我想知道是否可以从网站上提供某种标头或其他指令,这些标头或指令对用户的效果与禁用第三方Cookie的效果相同,但不要求用户删除第三方Cookie和猴子一起浏览设置。

cookies webserver
1个回答
0
投票

[通常,无法阻止您的浏览器在HTTP请求中包含cookie。但是,最近,向浏览器添加了一些获取资源的新方法。

  • 使用Fetch API fetch忽略响应中的Set-Cookie,除非指定,否则不包括Cookie

  • 使用ES6(ES2015)模块:没有<script type="module" ...>属性的crossorigin将不会发送Cookie。它不适用于非模块脚本,并且必须配置服务器(而不是您的服务器,一个用于服务文件),以使用有效的CORS标头为文件提供服务。用import * from blah.com/script.js导入的脚本也将以相同的方式运行。按照link了解更多信息。

  • 设置crossorigin="anonymous"资源元素,例如scriptimgstylecrossorigin="anonymous"将在后续请求中不包含Cookie标头。

但是所有这些都通过使用Cross-Origin Resource Sharing (CORS)起作用,并且如果将资源服务器配置为不允许没有凭据(cookie和其他标头)的请求,则它们将不起作用。您可能会收到404或其他错误。

如果您担心第三方Cookie,通常最好从您自己的服务器或像大多数CDN一样的无cookie的服务器中提供静态信息。

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