codecamp

CodeIgniter4 Honeypot 类

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 =”” />
CodeIgniter4 使用文件类
CodeIgniter4 图像处理类
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }