kmedia/silverstripe-recaptcha

使用 Google 的 reCAPTCHA 2 的反垃圾邮件保护扩展

安装: 54

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 5

类型:silverstripe-vendormodule

dev-master 2021-03-11 20:52 UTC

README

license - bsd 3 clause Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status

简介

提供一个 FormField,允许表单使用 Google 的 reCAPTCHA v2 服务验证非机器人提交。

需求

  • SilverStripe 框架 4.0 或更高版本

安装

最佳安装方式是通过 composer。你也可以克隆仓库或下载 zip 文件,但你应该在 silverstripe 根目录下找到一个名为 recaptcha 的目录,其中包含所有文件。

使用 Composer

composer require kmedia/silverstripe-recaptcha

通过 composer 或手动安装模块后,你必须将垃圾邮件保护设置为 ReCaptchaProtector,这需要在你的网站配置文件中设置,通常这是 app/_config/mysite.yml

SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
  default_spam_protector: Kmedia\ReCaptcha\ReCaptchaProtector

最后,将“垃圾邮件保护”字段添加到你的表单字段中。

配置

你必须在环境(.env)文件中创建你的 sitekeysecretkey,你可以从 reCAPTCHA 页面 获取这些配置选项。这些配置选项必须添加到你的网站 yaml 配置文件中,通常是 app/_config/mysite.yml

Kmedia\ReCaptcha\ReCaptchaField:
  theme: "light" #Default theme color (optional, light or dark, defaults to light)
  size: "normal" #Default size (optional, normal, compact or invisible, defaults to normal)
  badge: "bottomright" #Default badge position (bottomright, bottomleft or inline, defaults to bottomright)

添加字段标签

如果你想为 Captcha 字段添加字段标签或帮助文本,可以像这样操作

$form->enableSpamProtection()
    ->fields()->fieldByName('Captcha')
    ->setTitle("Spam protection")
    ->setDescription("Please tick the box to prove you're a human and help us stop spam.");