nicolasbeauvais / laravel-botscout
此包已被弃用且不再维护。未建议替代包。
为 Laravel 提供botscout.com 保护
v1.2.0
2019-06-07 13:06 UTC
Requires
- php: ^7.0
- illuminate/contracts: ~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- illuminate/support: ~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- nicolasbeauvais/botscout-client: ^1.0
Requires (Dev)
- mockery/mockery: ^0.9.8
- orchestra/testbench: ~3.5.0
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2021-04-19 18:54:21 UTC
README
使用botscout.com API保护您的网站免受自动化脚本的攻击。
安装
您可以通过composer安装此包
composer require nicolasbeauvais/laravel-botscout
接下来,您必须安装服务提供者
// config/app.php 'providers' => [ ... NicolasBeauvais\LaravelBotScout\BotScoutServiceProvider::class, ];
将您的botscout.com API密钥添加到.env
文件
BOTSCOUT_SECRET=your-api-key
如果需要,您还可以发布配置文件
php artisan vendor:publish --provider="NicolasBeauvais\LaravelBotScout\BotScoutServiceProvider" --tag="config"
如果您想使用外观,也必须安装它
// config/app.php 'aliases' => [ ... 'BotScout' => NicolasBeauvais\LaravelBotScout\BotScoutFacade::class, ];
使用方法
强烈建议您阅读BotScout.com API指南,以了解每个方法的意义。
验证器
您可以在现有的验证器中轻松使用botscout
// Validate name $validator = Validator::make(['name' => 'John Doe'], [ 'name' => 'required|botscout_name' ]); // Validate email $validator = Validator::make(['email' => 'toto@gmail.com'], [ 'email' => 'required|botscout_mail' ]); // Validate ip $validator = Validator::make(['ip' => '127.0.0.1'], [ 'ip' => 'required|botscout_ip' ]);
请注意,您需要自己创建验证消息,如Laravel 文档中所述。
外观
您可以在应用程序的任何地方使用BotScout外观
BotScout::multi('John Doe', 'email@test.com', '127.0.0.1')->isValid(); BotScout::all('John Doe')->isValid(); BotScout::name('John Doe')->isValid(); BotScout::mail('email@test.com')->isValid(); BotScout::ip('127.0.0.1')->isValid(); // We also include a quick way of testing a user with integrated exception catch BotScout::check('John Doe', 'email@test.com', '127.0.0.1'); // true or false
使用check方法的真实生活示例
check
方法是验证注册表单的推荐方式
check
方法是multi
方法的包装,它会捕获任何HTTP错误/超时。如果BotScout API没有响应,该方法将返回false。
// Create a classic validation $validator = Validator::make($request->all(), [ 'email' => 'required|email|unique:users', 'name' => 'required|max:20', ]); $validator->after(function ($validator) { if (!BotScout::check($request->get('name'), $request->get('email'), $request->ip())) { $validator->errors()->add('email', 'Sorry, it looks like your a bot!'); } });
更新日志
请参阅更新日志以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件nicolasbeauvais1@gmail.com而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。