bxnxg/antispam-bundle
Composer 安装命令:
composer require bxnxg/antispam-bundle
包简介
This bundle provides some basic features to reduce spam in symfony forms.
README 文档
README
This bundle provides some basic features to reduce spam in symfony.
Installation
This package is forked from closed nucleos/NucleosAntiSpamBundle package. Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require bxnxg/antispam-bundle
Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php file of your project:
// config/bundles.php return [ // ... Bxnxg\AntiSpamBundle\NucleosAntiSpamBundle::class => ['all' => true], ];
Usage
Form based protection
Create a form on the fly:
$this->createForm(CustomFormType:class, null, array( // Time protection 'antispam_time' => true, 'antispam_time_min' => 10, 'antispam_time_max' => 60, // Honeypot protection 'antispam_honeypot' => true, 'antispam_honeypot_class' => 'hide-me', 'antispam_honeypot_field' => 'email-repeat', ))
Twig text protection
{# Replace plain text #} {{ text|antispam }} {# Replace rich text mails #} {{ htmlText|antispam(true) }}
If you want a JavaScript decoding for the encoded mails, you should use the AntiSpam.js library:
document.addEventListener('DOMContentLoaded', () => { new AntiSpam('.custom_class'); });
It is recommended to use webpack / webpack-encore
to include the JavaScript library in your page. These file is located in the assets folder.
Global protection
Add protection to all forms using the configuration:
# config/packages/nucleos_antispam.yaml nucleos_antispam: # Time protection time: global: true # Honeypot protection honeypot: global: true
Configure the Bundle
Create a configuration file called nucleos_antispam.yaml:
# config/packages/nucleos_antispam.yaml nucleos_antispam: # Twig mail filter twig: mail: css_class: 'custom_class' at_text: [ '[DOT]', '(DOT)', '[.]' ] dot_text: [ '[AT]', '(AT)', '[ÄT]' ] # Time protection time: min: 5 max: 3600 global: false # Honeypot protection honeypot: field: 'email_address' class: 'hidden' global: false provider: 'nucleos_antispam.provider.session'
Assets
It is recommended to use webpack / webpack-encore
to include the AntiSpam.js file in your page. These file is located in the assets folder.
License
This bundle is under the MIT license.
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-01