triopsi/banned-tool

CakePHP 的封禁工具插件。快速封禁 IP 地址。

安装: 182

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:cakephp-plugin

v1.2.0 2023-12-15 10:25 UTC

This package is auto-updated.

Last update: 2024-09-15 12:05:32 UTC


README

快速封禁 IP 地址。这是一个 CakePHP 4.x 的插件。

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require triopsi/banned-tool

数据库迁移

在 CakePHP 控制台中运行以下命令以使用迁移插件创建表:

bin/cake migrations migrate -p BannedTool

加载插件

通过 Load 任务,您可以在 config/bootstrap.php 中加载插件。您可以通过运行以下命令来实现:

bin/cake plugin load BannedTool

手动

将以下代码放入 bootstrap 方法中的 application.php 文件中:

$this->addPlugin('BannedTool');

安装中间件

要使用此工具,您需要将以下代码片段添加到 Application.php 中的中间件部分。通常不建议将 Banned Middleware 放在第一位。

use BannedTool\Middleware\BannedMiddleware;
use Cake\View\View;

public function middleware( MiddlewareQueue $middlewareQueue ): MiddlewareQueue {
    ...
    ->add(
        new BannedMiddleware(
            array(
            'className' => View::class,
            'templatePath' => 'Error',
            'statusCode' => 403,
            'templateLayout' => false,
            'templateFileName' => 'banned',
            'templateExtension' => '.php',
            'contentType' => 'text/html',
            )
        )
        ...
)

自定义

请确保您在 'templates' . DS . 'Error' . DS 中有一个名为 banned.php 的模板文件。

配置

  • 'className' => View::class,
  • 'templatePath' => 'Error',
  • 'statusCode' => 403,
  • 'templateLayout' => false,
  • 'templateFileName' => 'banned',
  • 'templateExtension' => '.php',
  • 'contentType' => 'text/html'

这些可以用来调整封禁页面的内容。

封禁组件

此组件在现有功能之上添加了功能

  • 将 IP 地址添加到封禁列表
  • 从封禁列表中删除 IP 地址
  • 检查 IP 地址是否在封禁列表中
  • 列出所有封禁的 IP 地址

如何设置

// In your App Controller Class (src/Controller/AppController)
public function initialize() {
    ...
    $this->loadComponent('BannedTool.Banned');
}

封禁命令

这应该是启用和禁用您应用程序维护模式的首选方式。

命令

  • add ban <ip_addresses>
  • rm ban <ip_addresses>
  • list bans