代码 (third-party) iframe 可以设置 first-party cookies 吗?

Can code (third-party) iframe set first-party cookies?

是否可以在 iframe 中加载任何代码设置第一方 cookie?

例如我有一个站点:www.my-website.com,出于合法目的,我需要从第三方提供商 www.third-party-site.com 加载一些内容。但是(出于明显的安全原因)我不想让他们能够设置(或读取)任何第一方 cookie(即域为 www.my-website.com 的 cookie - 欢迎他们设置任何 cookie他们自己的域名 www.third-party-site.com).

以上是在某些条件下可能还是根本不可能:

我的理解是,这根本不可能,而且关于 SO 等的大多数答案似乎都支持这一点 - 但有些人指出 Facebook 在某些情况下有解决方法的例子等。因此需要澄清。

按照设计,没有。这并不是说没有找到变通办法,或者过去的错误允许这样做,但它们是非常多的错误,而不是你应该期望或尝试使用的东西 - 将第一方 cookie 泄露给第三方将有资格作为一个主要的安全问题。

为减少暴露,您应确保设置适当的 cookie 标志:Secure,以防止通过不安全的链接发送 cookie; httponly,以防止 javascript 访问它们,如果可用,samesite,以避免 CSRF 攻击。您还应该设置 HTTP headers 来控制您自己站点的框架,以避免点击劫持,并设置其他 headers 像 CSP 来更严格地控​​制源。

有一种非常简单的方法可以避免 third-party cookie 的所有负面影响:不要有任何 cookie。没有它们也可以做很多事情,这意味着您可能不需要显示 cookie 通知或寻求同意。

既然你问的是一个抽象的问题,你可能会在 Security Stack Exchange 上得到更好的答案。