silverware / spam-guard
SilverWare 垃圾邮件防护模块。
1.0.4
2018-09-14 05:09 UTC
Requires
- php: >=5.6.0
- silverstripe/framework: ^4@dev
This package is not auto-updated.
Last update: 2024-09-14 19:58:37 UTC
README
为 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 问题跟踪器 报告错误和提出功能请求。
贡献
我们欢迎您的贡献,以帮助使此项目变得更好。请参阅 贡献 了解更多信息。
归属
- 受 SilverStripe 垃圾邮件保护模块 启发。
维护者
许可
BSD-3-Clause © Praxis Interactive