Класс Honeypot
Класс Honeypot позволяет определить, когда бот отправляет запрос приложению CodeIgniter4, если он включён в файле Application\Config\Filters.php. Это делается путём добавления скрытых для пользователя, но доступных для бота, полей формы к любой форме. Если данные вводятся в поле, предполагается, что запрос идёт от бота, и вы можете бросить HoneypotException.
Включение Honeypot
Чтобы включить Honeypot, необходимо внести изменения в app/Config/Filters.php. Просто раскомментируйте honeypot в массиве $globals, как это…:
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- метка HTML для поля honeypot, по умолчанию «Заполните это поле» -
name- имя поля HTML формы, используемого для шаблона; по умолчанию «honeypot» -
template- шаблон поля формы, используемый для honeypot; по умолчанию «<label>{label}</label><input type=”text” name=”{name}” value=””/>»
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/user_guide/libraries/honeypot.html