SS4上的垃圾邮件防护/重新捕获

时间:2019-06-25 02:19:03

标签: silverstripe silverstripe-4

我无法通过silverstripe-recaptcha使silverstripe-spamprotectionsilverstripe-userforms在SS4上工作。

在我的app / _config / spamprotection.yml中:

SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
  default_spam_protector: SilverStripe\Recaptcha\RecaptchaProtector

在我的app / _config / recaptcha.yml中: 注意:尝试对api键使用带引号或不带引号。

SilverStripe\Recaptcha\RecaptchaField:
  public_api_key: xxx
  private_api_key: xxx

我有:

  • 完成开发/构建并完成刷新
  • 在用户表单中添加了反垃圾邮件字段

控制台中没有错误/警告。

有人工作吗? 可以看到我所缺少的吗?

1 个答案:

答案 0 :(得分:2)

问题是另一个模块正在设置SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension,从而覆盖了我的app/_config/spamprotection.yml文件中的设置。

一种解决方案是将spamprotection.yml设置为在另一个模块的yml文件之后加载。为此,我们可以在yml文件顶部添加以下内容:

---
Name: app-spamprotection
After: '#galadriel'
---
SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
  default_spam_protector: SilverStripe\Recaptcha\RecaptchaProtector

在上面的示例中,galadriel是另一个模块的yml文件中设置的Name