定制 bdsa/wafy 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bdsa/wafy

Composer 安装命令:

composer require bdsa/wafy

包简介

Un package Laravel pour bannir les adresses IP automatiquement et détecter les requêtes malveillantes.

README 文档

README

Wafy est un package Laravel développé par Bdsa pour bannir automatiquement les adresses IP et détecter les requêtes malveillantes telles que les tentatives d'injection SQL.

Résumé

Ce fichier README.md explique les étapes pour installer, configurer et utiliser le package wafy dans un projet Laravel. Il inclut des instructions pour :

  • Ajouter le package via Composer.
  • Publier la configuration et la migration.
  • Appliquer la migration.
  • Utiliser les middlewares et les commandes artisan.
  • Configurer les patterns de détection des requêtes malveillantes.

Installation

1. Ajouter le package à votre projet

Dans le fichier composer.json de votre projet Laravel, ajoutez ce package :

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/tomakakwark/wafy"
    }
],
"require": {
    "bdsa/wafy": "dev-main"
}
composer update
php artisan vendor:publish --provider="Bdsa\Wafy\WafyServiceProvider"
php artisan migrate

Middlewares

Le package fournit deux middlewares principaux :

BlockBannedIp : Bloque l'accès des IP bannies à l'application. DetectMaliciousRequests : Détecte les requêtes malveillantes (comme les tentatives d'injection SQL) et bannit automatiquement les adresses IP correspondantes. Pour les utiliser, ajoutez-les dans le fichier app/Http/Kernel.php de votre projet Laravel, dans la section $middleware ou $routeMiddleware :

protected $middleware = [
    \Bdsa\Wafy\Middleware\BlockBannedIp::class,
    \Bdsa\Wafy\Middleware\DetectMaliciousRequests::class,
];

Commands Artisan

Le package fournit également trois commandes artisan pour gérer les IP bannies :

Bannir une IP :

php artisan waf:ban {adresse_ip}

Déban une IP :

php artisan waf:unban {adresse_ip}

Afficher les IP bannies :

php artisan wafy:list

Exemple de configuration :

return [
    'patterns' => [
        '/(select\s.*from|union\s.*select|information_schema|concat|0x)/i',
        '/(\*.*from|where.*=.*\d)/i',
    ],
];

Exemple d'intégration dans les routes

Voici un exemple d'intégration des middlewares dans un groupe de routes :

Route::group(['middleware' => ['block.banned.ip', 'detect.malicious.requests']], function () {
    Route::get('/', function () {
        return view('welcome');
    });

    // Autres routes ici
});

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-09-25