阅读(4879) (0)

CodeIgniter4 Honeypot 类

2020-08-14 14:28:15 更新

Honeypot类可以确定Bot何时向CodeIgniter4应用程序发出请求(如果已在Application\Config\Filters.php文件中启用该请求)。这是通过将表单域附加到任何表单来完成的,该表单域对人类是隐藏的,但Bot可以访问。当数据输入到字段中时,假设请求来自Bot,则可以抛出HoneypotException

启用 Honeypot

要启用Honeypot,必须对进行更改app/Config/Filters.php。只需取消注释$globals阵列中的honeypot,例如…:

public $globals = [
        'before' => [
            'honeypot'
            // 'csrf',
        ],
        'after'  => [
            'toolbar',
            'honeypot'
        ]
    ];

捆绑了一个示例Honeypot过滤器,如system/Filters/Honeypot.php。如果不合适,请在创建自己的app/Filters/Honeypot.php,并$aliases在配置中适当地修改。

定制 Honeypot

Honeypot 可以定制。可以在app/Config/Honeypot.php或中设置以下字段 .env

  • hidden-true | false用于控制 Honeypot 字段的可见性;默认是true
  • label -Honeypot字段的HTML标签,默认为“填写此字段”
  • name-用于模板的HTML表单字段的名称;默认为“honeypot”
  • template-用于 honeypot 的表单字段模板;默认为'<label> {label} </ label> <input type =” text” name =“” {name}” value =”” />