防止 google recaptcha 设置 cookie (GDPR)

Ma *_*Kro 13 javascript cookies recaptcha

我们已经与 Google recaptcha 集成,它使用用户数据设置了一些 cookie(示例 cookie 是 NID)。5 月 25 日,GDPR 将生效,根据该法律,未经用户同意,网站不得设置任何 cookie。这似乎是有问题的,因为在 Google reCaptcha 的文档中,没有设置 cookie 的信息如何显示它。我不相信我们是唯一有这个问题的人,所以我真的相信你可以帮助我解决我们的问题。

我将接受任何帮助、文档链接、有关防止谷歌重新验证设置 cookie 的魔法参数的信息等。我挖了 2 天,但什么也没找到。我唯一发现的是将于 5 月 25 日生效的新的 Google cookie 政策规则,以及如果用户想要阻止 cookie,他应该在他的浏览器中安装扩展程序的信息,我认为这不符合 GDPR。

谢谢你。

juz*_*aai 8

据我所知,Google reCAPTCHA需要 cookie,所以我认为您有 2 个选择:

  • A)忘记谷歌并寻找另一个无cookie的验证码服务(例如带有临时文件的PHP解决方案

  • B) 仅当用户允许 cookie 时才启用 Google reCAPTCHA。(我以这种方式在我的网站上这样做,因为我的观点是验证码可以保护我。我可以告诉我的用户,我可以告诉他们该网站只能使用这些 cookie。)


B) 仅在用户允许的情况下启用 Google reCAPTCHA

我建议您在您的网站上放置一个 cookie 同意窗口,该窗口实施“选择加入”模式,并动态添加 reCAPTCHA 脚本。您必须使用 cookie 来存储用户的决定。您的脚本应在页面加载时执行以下操作:

  1. 检查您的 cookie 是否存在值“允许”
  2. 如果是,请添加 reCAPTCHA 脚本
  3. 否则,显示 cookie 同意窗口
  4. 为“允许”按钮添加一个点击事件处理程序,
    1. 添加具有值“允许”和一些过期时间的 cookie
    2. 添加 reCAPTCHA 脚本
    3. 隐藏 cookie 同意窗口

例如,您可以使用js-cookie库轻松操作 cookie:

Cookies.set('your-cookie', 'allow', { expires: 365 }); // 365 days

if ('allow' == Cookies.get('your-cookie')) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

您可以通过这种方式动态添加 reCAPTCHA 脚本

var script = document.createElement('script');
script.src = 'https://www.google.com/recaptcha/api.js'
document.body.appendChild(script);
Run Code Online (Sandbox Code Playgroud)

手动实施 cookie 同意窗口并不难,但您也可以使用例如Insites 的 Cookie 同意,它也可以帮助您创建选择加入。

不要忘记编写 cookie 策略并包含有关 reCAPTCHA 的信息。


Mar*_*own 8

根据Google 的常见问题解答,如果您使用www.recaptcha.net域而不是www.google.com域,您将只会获得一个名为 _GRECAPTCHA 的 cookie。我认为这可以归类为基本 cookie,因此根据欧盟法律不需要同意(尽管谨慎的做法是与法律专家核实,但我不是)。