Google ReCAPTCHA v3 - 阻止从 fonts.gstatic.com 加载 Roboto

Mar*_*rio 6 wordpress recaptcha contact-form-7 gdprconsentform

我将 Google ReCAPTCHA 与 Contact Form 7 插件添加到我的所有联系表单中。不幸的是,徽章加载了 Roboto 字体(s/roboto/v18;文件:KFOlCnqEu92Fr1MmEU9fBBc4.woff2 和 KFOmCnqEu92Fr1Mu4mxK.woff2)。我用“visibility:hidden;”隐藏了徽章,因为“display:none;” 会破坏功能。

字体的 URL 为:

Roboto字体加载

是否可以阻止这两种字体加载?我尝试了这段代码但没有成功:

function remove_google_fonts_stylesheet() {  
wp_dequeue_style( 'google-fonts-roboto' );
}
add_action( 'wp_enqueue_scripts', 'remove_google_fonts_stylesheet', 999 );
Run Code Online (Sandbox Code Playgroud)

小智 0

您可以从美国加载数据,这在使用 reCAPTCHA v3 时会发生。您仍然需要做的就是传达该信息并请求用户同意。

DSGVO 有效的解决方案是您在德国尤其必须处理的问题。是什么迫使您实施同意横幅和类似的解决方案。

他们中的大多数都提供 API 或方法来处理此类情况。

例如,以用户为中心允许使 reCAPTCHA v3 等服务对同意敏感。只要该服务不是必需的,您就可以让用户选择允许该服务。那么它就是一个绝对合法的解决方案,您无需切换捕获工具。

对于联系表单 7 Wordpress 插件,您必须通过过滤器确保 reCAPTCHA 脚本标记设置为 type="text/plain",添加一个名为 的新属性data-usercentrics并填写服务名称,在本例为“reCAPTCHA v3”并添加属性“async”。

接下来,您必须在 Usercentrics 管理面板中将 reCAPTCHA v3 服务定义为非必需服务,例如functional.

当用户未经同意访问您的网页时,脚本标签将保持“文本/纯文本”类型,不会执行它。当用户同意该服务时,Usercentrics 会将脚本标签的类型更改为“text/javascript”,这将立即导致执行脚本。

要使其与联系表单 7 一起使用,您必须对任何与联系表单 7 相关的脚本(尤其是“index.js”)执行相同的操作。什么将确保仅在加载 reCAPTCHA v3 时加载脚本,并确保它将按正确的顺序异步加载和执行。

您要做的最后一件事是添加另一个自定义脚本,该脚本位于头部部分的最底部。与其他脚本标签的定义方式相同,放入代码以触发“DOMContentLoaded”事件。

最后一步是必要的,因为所有相关脚本的异步加载将在通用“DOMContentLoaded”事件“之后”有其入口点。要应用联系表单 7 javascript 逻辑,您必须重新触发它。

最后,您将拥有一个有效的 reCAPTCHA 保护表单,该表单仅在用户同意时才与美国服务器联系。

然后,当用户不同意时,您应该应用逻辑来禁用表单,并传达需要启用表单并通过它发送消息的信息。