如何解决访问 cookie 或存储的请求被阻止,因为它来自跟踪器并且启用了内容阻止



我正在我的网站上使用内容安全政策和谷歌广告 www.iusefaith.com。我的广告没有显示,我在火狐检查器中收到的错误消息是

请求访问 Cookie 或存储 "https://adservice.google.com/adsid/integrator.js?domain=www.iusefaith.com" 被阻止,因为它来自跟踪器并且内容阻止是 启用。

使用铬,我收到以下错误

设置了与跨站点资源 at 关联的 Cookie,但没有SameSite属性。Chrome 的未来版本将仅在设置了SameSite=NoneSecure的情况下提供具有跨站点请求的 cookie。您可以在应用程序>存储>Cookie 下的开发人员工具中查看 Cookie,并在和

同时,我已允许谷歌在我的内容安全政策中

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval'  https://code.jquery.com https://ajax.aspnetcdn.com  *.reftagger.com *.fastly.net *.facebook.com *.youtube.com *.googlesyndication.com *.googleapis.com  *.google-analytics.com *.googletagservices.com *.google.com.gh *.google.com *.doubleclick.net *.vimeo.com *.cloudflare.com *.cloudinary.com *.bootstrapcdn.com; img-src * data:; frame-src *;  ">

因此,我只在我的主页上获得谷歌广告,而不是在其他页面上。如何修复它并使谷歌广告感知在没有请求访问cookie或存储的情况下显示所有页面?

这在 Mozilla 文档中有明确的概述:

访问 Cookie 或存储的请求被阻止,因为浏览器 将其识别为来自跟踪器,并且内容阻止是 启用。

可以通过以下方式更改或删除权限:

Going to Preferences > Content Blocking and either
adding an exception with the Manage Exceptions… button
choosing the Custom Content Blocking and unchecking the Tracker checkbox

如果被阻止的资源不需要身份验证,则可以修复 通过将 CrossOrigin="匿名" 属性添加到 相关元素。

有关crossorigin属性的详细信息,请参阅此页面:

跨源属性,在<audio><img><link>上有效<script><video>元素,为 CORS 提供支持,定义 元素如何处理跨源请求,从而启用 配置元素提取数据的 CORS 请求。 根据元素,属性可以是 CORS 设置 属性。

媒体元素上的跨源内容属性是 CORS 设置 属性。

这些属性是枚举的,并且具有以下可能 值:

匿名

请求使用 CORS 标头和凭据标志设置为"同源"。不会通过 Cookie 交换用户凭据, 客户端 SSL 证书或 HTTP 身份验证,除非 目的地是相同的原点。

使用凭据

请求使用 CORS 标头,凭据标志设置为"包含",并且始终包含用户凭据。

">

将属性名称设置为空值(如 crossorigin 或 crossorigin="(与匿名相同。

无效的关键字和空字符串将作为 匿名关键字。

默认情况下(即,当未指定属性时(,CORS 不是 根本用过。用户代理不会请求完整权限 访问资源,如果是跨源请求, 将根据元素的类型应用某些限制 关心:

相关内容

最新更新