atendwa/laravel-honeypot

此Laravel包可以轻松保护您的表单,通过一个看不见的盾牌来抵御垃圾邮件,具有无缝集成和可配置的设置,以实现最佳保护。

1.1.2 2024-05-17 09:15 UTC

This package is auto-updated.

Last update: 2024-09-08 10:05:16 UTC


README

Latest Version on Packagist Software License

run-tests Quality Score Code Style Status

Laravel Honeypot是一个旨在帮助保护Laravel应用程序免受垃圾邮件机器人侵害的包,通过添加一个隐藏的表单字段,当该字段被填写时,表明提交很可能来自机器人。它提供了一种简单而有效的方法来减少垃圾邮件提交,而不会给真实用户带来不便。

安装

您可以通过composer安装此包

composer require atendwa/laravel-honeypot

配置

您可以覆盖 honeypot 的默认选项。首先发布 honeypot.php 配置文件

  php artisan vendor:publish --provider="Atendwa\Honeypot\HoneypotServiceProvider" --tag="config"

在您的 .env 文件中添加以下变量以使用自定义配置

HONEYPOT_ENABLED=TRUE

HONEYPOT_INPUT_NAME=mobile

HONEYPOT_TIME_INPUT_NAME=time_field

HONEYPOT_MINIMUM_SUBMISSION_DURATION=1 #time in seconds

用法

  1. prevent-spam 中间件添加到您想保护的免受垃圾邮件机器人侵害的路由中。

    Route::post('/submit-comment', [commentController::class, 'store'])
        ->middleware('prevent-spam');
  2. <x-honeypot::honeypot-fields/> blade 组件添加到表单体中

    <form action="/submit-comment" method="POST">
        @csrf
    
        <x-honeypot::honeypot-fields/>
        
        // other input fields
    </form>

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何安全问题,请通过电子邮件 tendwa.am@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件