silverware / spam-guard

SilverWare 垃圾邮件防护模块。

安装: 397

依赖: 2

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 2

公开问题: 0

类型:silverstripe-vendormodule

1.0.4 2018-09-14 05:09 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:58:37 UTC


README

Latest Stable Version Latest Unstable Version License

SilverStripe v4 提供表单垃圾邮件防护模块。

内容

要求

安装

安装通过 Composer 进行。

$ composer require silverware/spam-guard

配置

与所有 SilverStripe 模块一样,配置通过 YAML 完成。通过 config.yml 应用对基本 Form 类的扩展。配置还用于通过 SilverStripe 依赖注入器定义默认垃圾邮件防护实例。

SilverStripe\Core\Injector\Injector:
  DefaultSpamGuard:
    class: SilverWare\SpamGuard\Guards\SimpleSpamGuard

默认实例 SimpleSpamGuard 使用蜜罐方法来防止垃圾邮件,并结合最小表单提交时间,由 timeLimit 属性定义。

使用

安装后,您可以通过以下代码在表单上启用简单的垃圾邮件保护:

$form = Form::create( ... );

if ($form->hasMethod('enableSpamProtection')) {
    $form->enableSpamProtection();
}

通过使用 hasMethod 检查垃圾邮件保护方法,而不是 hasExtension,我们使此扩展与 SilverStripe 垃圾邮件保护扩展之间的互操作性成为可能,而无需修改表单代码。

参数

enableSpamProtection 方法接受一个可选的参数数组,包含以下键:

  • class - 要使用的垃圾邮件防护实例的类
  • name - 垃圾邮件防护表单字段的名称
  • title - 垃圾邮件防护表单字段的标题
  • insertBefore - 在具有此名称的字段之前插入垃圾邮件防护表单字段
  • insertAfter - 在具有此名称的字段之后插入垃圾邮件防护表单字段

例如

if ($form->hasMethod('enableSpamProtection')) {
    $form->enableSpamProtection([
        'class' => CustomSpamGuard::class,
        'name' => 'CustomSpamGuard'
        'title' => 'Tasty Spam',
        'insertAfter' => 'Message'
    ]);
}

编写自己的垃圾邮件防护类

垃圾邮件防护实例必须实现 SilverWare\SpamGuard\Interfaces\SpamGuard 接口。您的实现必须包括以下方法:

  • getFormField() - 答复负责垃圾邮件保护的表单字段
  • getDefaultName() - 答复表单字段的默认名称
  • getDefaultTitle() - 答复表单字段的默认标题

问题

请使用 GitHub 问题跟踪器 报告错误和提出功能请求。

贡献

我们欢迎您的贡献,以帮助使此项目变得更好。请参阅 贡献 了解更多信息。

归属

维护者

许可

BSD-3-Clause © Praxis Interactive