aryehraber/statamic-recaptcha

此包已被弃用,不再维护。作者建议使用 aryehraber/statamic-captcha 包。

使用 Google 的 reCAPTCHA 服务保护 Statamic 3 表单

v2.8.4 2020-10-04 11:33 UTC

This package is auto-updated.

Last update: 2020-10-04 11:35:21 UTC


README

对于 Statamic V3,请使用新的 Captcha 扩展程序:https://github.com/aryehraber/statamic-captcha

Recaptcha (Statamic V2)

使用 reCAPTCHA 或 hCaptcha 保护 Statamic 表单

此插件允许您使用 reCAPTCHAhCaptcha 服务保护您的 Statamic 表单免受垃圾邮件和滥用。

初始设置后,您只需在表单中添加 {{ recaptcha }} 标签即可,非常简单!

reCAPTCHA

设置

  1. 首先,将 Recaptcha 文件夹复制到 site/addons/

  2. 接下来,您需要使用 {{ recaptcha:head }} 在您网站的 <head> 中添加 reCAPTCHA 的 API 脚本。您可能还想查看 Statamic 的 Yield & Section 标签,以便仅在需要时渲染脚本。

  3. 然后,通过 CP 中的设置配置哪些表单将使用 Recaptcha(配置 > 扩展程序 > Recaptcha)。在这里,您还可以自定义当验证失败时显示的错误消息,以及其他各种设置。

  4. 最后,前往 https://www.google.com/recaptcha/adminhttps://dashboard.hcaptcha.com 创建您的 SITE_KEY & SECRET 并将其添加到 Recaptcha 的设置中。或者,您可以使用 RECAPTCHA_SITE_KEY & RECAPTCHA_SECRET 将它们添加到网站的 .env 文件中。请注意:Recaptcha 扩展程序的设置将优先于 .env 设置。

使用方法

<head>
    <title>My Awesome Site</title>

    {{ recaptcha:head }}
</head>
<body>
    {{ form:create in="my-awesome-form" }}

        <!-- Add your fields like normal -->

        {{ recaptcha }}

    {{ /form:create }}
</body>

这将自动在页面上渲染 reCAPTCHA 元素(如果找到了有效的 SITE_KEY)。表单提交后,插件将暂时阻止表单保存,直到提交得到验证。如果一切正常,表单将按正常方式保存,否则将向 {{ errors }} 数组添加错误(与其他错误一起,如果有的话),您可以像平常一样处理它们。

hCaptcha

从 v2.7.0 版本开始,此插件也支持 hCaptcha!只需在 配置 > 扩展程序 > Recaptcha 中将 Captcha 服务设置切换到 hCaptcha 并更新 API 密钥为您的 hCaptcha 密钥。

用户注册

自v2.8.0版本起,Recaptcha可以验证来自Statamic的{{ user:register_form }}表单的用户注册提交。在配置 > 插件 > Recaptcha中激活此功能,并按照上述相同的用法说明操作。

隐形Recaptcha

自v2.0版本起,Recaptcha还支持隐形reCAPTCHA

  1. 只需在Recaptcha的设置中开启隐形切换即可。
  2. 开启隐藏徽章以隐藏Recaptcha徽章
  3. 使用{{ recaptcha:disclaimer }}添加必要的Google条款和隐私政策