wodcz/nette-honeypot

Nette Forms 的蜜罐扩展

3.0.1 2022-03-13 13:25 UTC

This package is auto-updated.

Last update: 2024-09-13 18:39:26 UTC


README

为 Nette Forms 添加对蜜罐输入的支持。

它做什么

关于蜜罐输入的文章

TLDR; 它创建表单输入,然后使用 CSS 或 JS 隐藏它。垃圾邮件机器人通常会填写所有字段(尤其是像 'email' 或 'web' 这样的诱人名称)。人类不会填写隐藏字段,所以这是一种检测机器人的方法,而不是强迫用户解决验证码。

安装

最佳安装方式是使用 composer

composer require wodcz/nette-honeypot

然后注册扩展

extensions:
    honeypot: wodCZ\NetteHoneypot\HoneypotExtension

使用方法

$form->addHoneypot($name, $caption, $errorMessage, $mode);

$name 应该是机器人喜欢的内容,比如 email。

$caption 中,你应该为用户编写一些内容,这些内容由于某些原因没有隐藏该字段。

$message 中,你可以更改默认的错误消息。

$mode 应该是 wodCZ\NetteHoneypot\Honeypot::MODE_CSSMODE_JS 之一。

你还可以指定自己的错误回调

$honeypot = $form->addHoneypot('email');
$honeypot->onError[] = function($control){ .... };

配置

honeypot:
	inline: true/false # if true, extension will append css/js (according to mode) right after input. Otherwise you have to link css/js on your own.