nicolasbeauvais/laravel-botscout

此包已被弃用且不再维护。未建议替代包。

为 Laravel 提供botscout.com 保护

v1.2.0 2019-06-07 13:06 UTC

This package is auto-updated.

Last update: 2021-04-19 18:54:21 UTC


README

Latest Version on Packagist Build Status SensioLabsInsight Quality Score Total Downloads

bs_logo_full

使用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)。请参阅许可文件以获取更多信息。