swayok / laravel-antihack-tool
Laravel 的主动防黑客保护
Requires
- php: >=5.5
- laravel/framework: >=5.3|>=6.0
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
}
配置
-
运行
php artisan vendor:publish --provider=LaravelAntihackTool\AntihackServiceProvider
以发布配置文件 -
如果您计划使用数据库存储黑客攻击尝试 - 将
antihack.store_hack_attempts
配置参数设置为true
并根据需要修改antihack.connection
和antihack.table_name
配置参数。然后运行php artisan antihack:install
并确认迁移任务。在生产服务器上,您需要使用php artisan migrate
命令手动运行迁移。 -
如果您使用 PeskyCmf 或 PeskyCms - 您可能需要在您的
AdminConfig
类的menu()
方法(或其他扩展了CmfConfig
类的类)中添加一个资源菜单项。菜单项:static::getMenuItem('hack_attempts')
或您自定义的项。 -
在开发服务器上,您可能需要将
antihack.allow_localhost_ip
设置为true
以允许来自127.0.0.1
ip 的请求。默认情况下,此选项在local
环境中设置为true
,在其他任何环境中设置为false
。 -
如果您使用任何具有
.php
扩展名的 URL - 将antihack.allow_php_extension_in_url
设置为true
。 -
白名单和黑名单将自动生成并缓存到您的默认缓存提供者。如果您需要,您可以更改缓存键和持续时间配置参数。您还可以使用
php artisan antihack:blacklist
手动更新缓存。 -
本包中有两个错误模板:
'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); }