我在Github页面上使用Google Analytics Global Site Tag(gtag.js)跟踪代码。复制以下跟踪代码并将其作为第一项粘贴到
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>
最近,当我使用Firefox浏览器打开我的Github页面站点时,控制台会记录以下警告消息:
Cookie“_ga”将很快被拒绝,因为它的“sameSite”属性设置为“none”或无效值,而没有“secure”属性。要了解有关“sameSite”属性的更多信息,请阅读https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
Cookie“\u gid”将很快被拒绝,因为它的“sameSite”属性设置为“none”或无效值,而没有“secure”属性。要了解有关“sameSite”属性的更多信息,请阅读https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
如何解决此问题?
如果您使用的是react ga npm软件包:
ReactGA.initialize("UA-XXXXXX-1", { gaOptions: { cookieFlags: "SameSite=None;Secure" } });
我刚刚设置了一个Google Analytics 4属性,在Firefox控制台中得到了与原始问题相同的警告:
Cookie“_ga”将很快被拒绝,因为它的“sameSite”属性设置为“none”或无效值,而没有“secure”属性。。。
但是将cookie_flags
作为选项添加到gtag('config',...)
调用不适合我。
浏览器cookie存储显示GA cookie确实没有安全存储。
我可以通过添加一个额外的gtag('set',…)来解决这个问题
,如下所示:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('set', {cookie_flags: 'SameSite=None;Secure'});
gtag('config', 'GA_MEASUREMENT_ID');
</script>
也许谷歌分析API改变了什么?
Google文档似乎表明
set
是传递cookie_flags
的方式。
gtag.jscookie设置可以自定义。具体来说,我们可以设置cookie_flags
字段来解决该问题。
在跟踪代码中,行
gtag('config', 'GA_MEASUREMENT_ID');
应改为
gtag('config', 'GA_MEASUREMENT_ID', { cookie_flags: 'SameSite=None;Secure' });
来解决这个问题。
所以整个跟踪代码应该如下(不要忘记用你自己的跟踪ID替换两次出现的GA_MEASUREMENT_ID
):
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID', { cookie_flags: 'SameSite=None;Secure' });
</script>
更新(感谢@RichDeBourke的评论):
控制台仍然可以记录如下警告消息:
Cookie “_ga” has been rejected for invalid domain.
要解决此问题,需要配置gtag.js的cookie域。原来答案中提到的那句台词
gtag('config', 'GA_MEASUREMENT_ID', { cookie_flags: 'SameSite=None;Secure' });
应进一步编辑以
gtag('config', 'GA_MEASUREMENT_ID', {
cookie_domain: 'YOUR_GITHUB_PAGES_DOMAIN',
cookie_flags: 'SameSite=None;Secure',
});
然后,整个跟踪代码如下所示(别忘了用您自己的GITHUB PAGES域(通常是
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID', {
cookie_domain: 'YOUR_GITHUB_PAGES_DOMAIN',
cookie_flags: 'SameSite=None;Secure',
});
</script>
问题内容: 我正在尝试使用RestTemplate和Jackson json转换器调用Restful JSON服务。现在,为了调用该服务,我需要传递一个安全性cookie。我可以通过使用URLConnection来实现(请参见下面的代码) RestTemplate中与此并行的是什么?这是我一直在使用RestTemplate调用Restful Service的代码片段: 我无法弄清楚在使用RestT
问题内容: 我有一个运行在Cedar堆栈上的node.js应用程序,我很困惑为什么安全cookie无法正常工作。 在localhost上,一切正常,但在heroku上,我似乎无法设置安全cookie。我究竟做错了什么?该文档称,负载平衡器终止SSL,它说的是配置在那里? 非常感谢 问题答案: 您认为Heroku在到达您的应用之前会先终止SSL。这导致express看到非SSL流量,这可能就是为什么
问题内容: 如何使用jQuery设置和取消设置Cookie,例如创建一个名为的Cookie 并将其值设置为? 问题答案: 2019年4月更新 Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。 转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。 基本示例: 有关详细信息,请参见github上的文档。 参见
问题内容: 刚收到安全审核的结果-除两件事外,其他一切都清晰可见 没有http标志的会话cookie。 没有设置安全标志的会话cookie。 该应用程序是用php编码的,修复建议为: 使用仅http标志设置会话cookie 使用安全标志设置会话cookie 我看过一些示例,但并不完全了解如何在Linux服务器上实现。我无权访问 .ini 文件。是否可以在htaccess文件中进行设置? 或者,如何
首先,我尝试在docker映像上托管一个。这是CURL输出,对我来说没有意义。 尝试:1 TCP_节点延迟设置 连接到本地主机(::1)端口13443(#0) ALPN,提供h2 ALPN,提供http/1.1 密码选择:全部:!出口:!出口40:!出口56:!阿努尔:!低:!RC4:@STRENGTH 已成功设置证书验证位置: CAfile:cfm。wdf。液公司总部:无。0(输出),TLS握手
我尝试在Webphere Liberty上使用选项设置JDBC驱动程序的属性®参考以下IBM®知识中心,但在我启动Webphere Liberty(2015年7月测试版)时收到了警告消息。 您能告诉我如何使用Websphere Liberty上的TLS\u CLIENT\u CERTIFICATE\u SECURITY选项设置JDBC驱动程序的安全机制属性吗? IBM Data Server Dr