swayok/laravel-antihack-tool

Laravel 的主动防黑客保护

dev-master 2019-11-09 20:50 UTC

This package is auto-updated.

Last update: 2024-09-10 07:40:10 UTC


README

这是一款主动防黑客保护工具,可以保护您的项目免受大多数使用 HTTP 请求的黑客攻击。它还包含基于配置文件或数据库表内容的白名单和黑名单功能。

安装

"swayok/laravel-antihack-tool": "master-dev" 添加到您的 composer.json 文件的 require 部分中,并运行 composer update

激活

对于 Laravel 5.5+

服务提供者将被自动加载

对于 Laravel 5.4-

LaravelAntihackTool\AntihackServiceProvider 添加到您的 app.providers 配置文件中

添加到您的 CMF 部分

\LaravelAntihackTool\PeskyCmf\CmfHackAttempts\CmfHackAttemptsScaffoldConfig::class 添加到您的 cmf 配置文件(可能是 config/admin.php)中的 'resources'

    'resources' => [
        \LaravelAntihackTool\PeskyCmf\CmfHackAttempts\CmfHackAttemptsScaffoldConfig::class
    }

配置

  1. 运行 php artisan vendor:publish --provider=LaravelAntihackTool\AntihackServiceProvider 以发布配置文件

  2. 如果您计划使用数据库存储黑客攻击尝试 - 将 antihack.store_hack_attempts 配置参数设置为 true 并根据需要修改 antihack.connectionantihack.table_name 配置参数。然后运行 php artisan antihack:install 并确认迁移任务。在生产服务器上,您需要使用 php artisan migrate 命令手动运行迁移。

  3. 如果您使用 PeskyCmf 或 PeskyCms - 您可能需要在您的 AdminConfig 类的 menu() 方法(或其他扩展了 CmfConfig 类的类)中添加一个资源菜单项。菜单项:static::getMenuItem('hack_attempts') 或您自定义的项。

  4. 在开发服务器上,您可能需要将 antihack.allow_localhost_ip 设置为 true 以允许来自 127.0.0.1 ip 的请求。默认情况下,此选项在 local 环境中设置为 true,在其他任何环境中设置为 false

  5. 如果您使用任何具有 .php 扩展名的 URL - 将 antihack.allow_php_extension_in_url 设置为 true

  6. 白名单和黑名单将自动生成并缓存到您的默认缓存提供者。如果您需要,您可以更改缓存键和持续时间配置参数。您还可以使用 php artisan antihack:blacklist 手动更新缓存。

  7. 本包中有两个错误模板:'antihack::errors.406'(检测到黑客攻击)和 'antihack::errors.423'(ip 或用户代理被列入黑名单/禁止)。在 Laravel 5.5+ 中,您需要像这样修改您的 App\Exceptions\Handler 类以使用它们

     public function prepareResponse($request, Exception $exception) {
         if ($exception instanceof \LaravelAntihackTool\Exception\AntihackException) {
             return response()->view('antihack::errors.' . $exception->getStatusCode());
         }
         return parent::prepareResponse($request, $exception);
     }