蜜罐代码点火器 4

问题描述

如何在 Codeigniter 4 中捕获蜜罐异常?

我模拟了bot,这样蜜罐的字段就被填满了。但是 CI4 立即抛出异常。我想将该访问记录到我的数据库中,并希望重定向到程序正在为该用户设置睡眠功能的“监狱”站点..所以每次尝试他都必须等待更长时间才能得到答复。

有什么建议吗?

我得到的当前异常: CodeIgniter\Honeypot\Exceptions\HoneypotException #3 Honeypot.theClientIsABot

 * @return void
 */
 public function before(RequestInterface $request,$arguments = null)
 {
      $honeypot = Services::honeypot(new \Config\Honeypot());
      if ($honeypot->hasContent($request))
      {
          throw HoneypotException::isBot();
      }
  }

显示此信息。

系统中启用了蜜罐。 Honeypot 的配置文件只是让你配置输入字段本身。不是“如果蜜罐isset会发生什么”。

我的 .env 文件

honeypot.hidden     = 'true'
honeypot.label      = 'What is 12 + 2?'
honeypot.name       = 'answer'
honeypot.template   = '<label>{label}</label><input type="text" id=" 
{name}" name="{name}" value=""/>'
honeypot.container  = '<div style="display:none">{template}</div>'

来自 Codeigniter 4 的信息: https://codeigniter.com/user_guide/libraries/honeypot.html#customizing-honeypot

解决方法

我在正常抛出异常的函数之前更改了系统文件夹和蜜罐。我在那里捕获了异常,并在那里设置了重定向。这不是最好的解决方案,因为当 CI 4 有更新时,它会被覆盖。