dieschittigs / contao-recaptcha
Contao 4 Bundle,用Google的无痕reCAPTCHA、reCAPTCHA 2.0或reCAPTCHA 3替换默认的Contao captcha
Requires
- php: >=5.6
- contao/core-bundle: ^4.0
README
一个Contao 4 Bundle,用更健壮的Google reCAPTCHA替换Contao的默认captcha。
我们支持以下captcha类型
- reCAPTCHA v2 复选框
- reCAPTCHA v2 无痕
- reCAPTCHA v3
安装
通过composer要求dieschittigs/contao-recaptcha
或从您的Contao Manager安装该Bundle。之后,您需要更新数据库,因为此Bundle向某些表添加了新字段。
配置
您可以在Contao系统设置中配置reCAPTCHA类型和密钥。
reCAPTCHA v3
reCAPTCHA v3对最终用户来说更方便,但设置起来也稍微复杂一些。除了配置您的reCAPTCHA密钥外,您还必须设置一个全局阈值,并在每个表单的基础上可选地设置一个单独的阈值。
reCAPTCHA v3返回一个分数(1.0非常可能是好的交互,0.0非常可能是机器人)。根据分数,您可以在您的网站上下文中采取不同的行动。
[...]
reCAPTCHA通过观察您网站上的真实流量来学习。因此,在测试环境中或实施后不久的分数可能与生产环境中的分数不同。由于reCAPTCHA v3永远不会打断用户流程,您可以先运行reCAPTCHA而不采取任何行动,然后通过查看管理控制台中的流量来决定阈值。默认情况下,您可以使用0.5的阈值。
(https://developers.google.com/recaptcha/docs/v3#score)
当添加新的captcha表单输入时,您将注意到一个额外的文本框用于reCAPTCHA v3阈值。您可以输入一个自定义阈值,这将仅为此表单覆盖全局阈值。例如,您可能希望为密码重置使用比联系表单更高的阈值。
操作
reCAPTCHA v3允许您在需要的位置运行recaptcha代码,并使用自定义操作名称。这为您提供了更多关于您页面上用户分数的深入了解,您可以使用这些信息来调整阈值。它还允许Google进行更好的分析并提供更准确的结果。如果您想使用此功能,您可以在单个页面上包含新的内容元素"背景reCAPTCHA v3"。
回退
如果私钥或公钥留空,captcha将回退到默认的Contao captcha。
我们不会对密钥执行任何其他验证。如果公钥不正确,Google将在渲染captcha时告诉您。如果私钥无效,所有captcha响应都将无效,并通过Contao系统日志通知您。
CSS
这个包非常中立,因此它不提供任何CSS。当使用不可见reCAPTCHA时,Google希望你在页面上显示一条消息,以告知用户表单受到reCAPTCHA的保护。Google的JavaScript已经渲染了这条消息,但根据你的页面布局,它可能被其他元素遮挡。因此,可能需要提高CSS类grecaptcha-badge
的z-index
值。