En utilisant ce site, vous acceptez la Politique de confidentialité et les Conditions Générales de Vente.
Accepter
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact
En cours de lecture : Laravel Abuse IP : Détection et blocage d’IP malveillantes
Partager
Notification Voir mes signets
Dernières actualités
Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
Illustration d’un cerveau connecté à une intelligence artificielle, symbolisant la recherche contre Alzheimer
L’IA dévoile une cause possible d’Alzheimer et identifie une piste thérapeutique prometteuse
Intelligence Artificielle
Aa
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Aa
Recherche
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
    • Qui sommes-nous
    • Initiatives
    • Réalisations
    • Formations
    • Recrutement
    • Contact
Suivez-nous
  • Personnaliser mes sujets d’intérêts
  • Mes signets
© 2023 BBND All Rights Reserved.
Le Blog de BBND – Actualités et nouvelles tendances du web > Tous les articles > Cybersécurité > Laravel Abuse IP : Détection et blocage d’IP malveillantes
CybersécuritéDéveloppement Web

Laravel Abuse IP : Détection et blocage d’IP malveillantes

Hamza L.
De Hamza L. 22 août 2024
Partager
8 min de lecture
Partager

La sécurité est l’une des principales préoccupations des développeurs web. Avec l’augmentation des attaques et des abus en ligne, il est indispensable de protéger votre application des comportements malveillants. Laravel Abuse IP, une librairie open-source créée par Rahul Alam, permet de sécuriser les applications Laravel en détectant et bloquant automatiquement les adresses IP abusives.

Dans cet article, nous explorerons en profondeur les fonctionnalités de cette bibliothèque, comment elle fonctionne, son utilisation dans un projet Laravel, ainsi que des exemples concrets de code. Nous verrons aussi comment l’intégrer efficacement dans votre flux de travail pour renforcer la sécurité de votre application.

Qu’est-ce que Laravel Abuse IP ?

Laravel Abuse IP est une bibliothèque qui s’intègre facilement à une application Laravel pour détecter, gérer et bloquer les adresses IP considérées comme abusives. Contrairement à ce que son nom pourrait suggérer, Laravel Abuse IP ne s’appuie pas directement sur l’API d’AbuseIPDB pour vérifier les adresses IP. Elle exploite plutôt une liste noire d’IP malveillantes récupérées à partir du package blocklist-abuseipdb, qui lui-même met à jour une liste de blocage basée sur les données publiques d’AbuseIPDB.

Cette bibliothèque permet d’automatiser le processus de vérification des IP, en vous alertant ou en bloquant les adresses potentiellement dangereuses avant qu’elles ne causent des dommages à votre système.

Fonctionnalités de Laravel Abuse IP

Voici quelques-unes des principales fonctionnalités offertes par la bibliothèque Laravel Abuse IP :

  • Liste de blocage automatisée : Utilisation de données mises à jour du package blocklist-abuseipdb pour bloquer les IP jugées nuisibles par AbuseIPDB.
  • Mise à jour automatique : Les données de la liste noire sont régulièrement mises à jour, garantissant que vous disposez toujours des informations les plus récentes sur les IP abusives.
  • Intégration simple : La bibliothèque est conçue pour s’intégrer facilement dans votre application Laravel, sans nécessiter de configurations complexes.
  • Personnalisation des comportements de blocage : Vous pouvez définir des règles spécifiques pour décider du comportement à adopter lorsque des IP figurant dans la liste noire tentent d’accéder à votre application.

Installation de Laravel Abuse IP

Prérequis

Avant de commencer, vous devez avoir une application Laravel installée et configurée.

1. Installation via Composer

Pour installer Laravel Abuse IP, exécutez la commande suivante dans votre terminal :

   composer require rahulalam31/laravel-abuse-ip

2. Configuration

Une fois la bibliothèque installée, vous devez publier les fichiers de configuration en utilisant la commande suivante :

   php artisan vendor:publish --tag=laravel-abuse-ip

Cela générera un fichier config/abuseip.php dans votre projet Laravel. Ce fichier vous permettra de configurer les paramètres de la bibliothèque.

3. Mise à jour

Exécutez la commande artisan suivante pour récupérer une liste actualisée des domaines abusifs et des adresses IP malveillantes :

   php artisan abuseip:update

Cette commande télécharge les données les plus récentes depuis blocklist-abuseipdb et stocke les adresses IP dans un fichier que la bibliothèque utilisera pour bloquer les connexions.

4. Configuration du fichier .env

Ajoutez les variables suivantes dans votre fichier .env pour configurer la bibliothèque :

ABUSEIP_STORAGE_PATH=/chemin/vers/votre/storage
ABUSEIP_STORAGE_COMPRESS=true   # active ou désactive la compression ip2long

Le paramètre ABUSEIP_STORAGE_PATH définit l’emplacement où les adresses IP seront stockées, tandis que ABUSEIP_STORAGE_COMPRESS permet d’activer ou de désactiver la compression des adresses IP en utilisant la méthode ip2long().

5. Mise à jour quotidienne (optionel)

Il est fortement recommandé de mettre à jour la liste AbuseIP quotidiennement, car les adresses IP utilisées pour le spam changent régulièrement. Cependant, vous pouvez planifier cette mise à jour selon vos besoins. Vous pouvez soit exécuter la commande manuellement de temps en temps, soit, si vous utilisez le planificateur de tâches de Laravel, vous pouvez enregistrer la commande abuseip:update comme suit :

Dans routes/console.php :

use Illuminate\Support\Facades\Schedule;
//
Schedule::command('abuseip:update')->daily();

Ou, si vous utilisez Laravel 10 ou une version antérieure, modifiez le kernel de la console :

protected function schedule(Schedule $schedule)
{
    $schedule->command('abuseip:update')->daily();
}

Cela vous permet d’automatiser la mise à jour des adresses IP bloquées, garantissant une protection continue contre les menaces émergentes.

Utilisation de Laravel Abuse IP

Après avoir configuré la bibliothèque, il est temps de l’utiliser pour protéger votre application. Voici quelques exemples d’utilisation et de cas concrets.

Vérification d’une IP lors de chaque requête

Vous pouvez configurer la bibliothèque pour qu’elle vérifie automatiquement chaque adresse IP entrante. Il suffit d’utiliser le middleware middleware::AbuseIp::class là où cela est nécessaire, comme sur une page de formulaire ou dans les URLs de publication. Vous pouvez également ajouter le middleware à votre code. Pour Laravel 10 et les versions inférieures, ajoutez-le dans Http/Kernel.php, et pour Laravel 11, ajoutez-le dans bootstrap/app.php.

Laravel 10 et versions inférieures :

/*
 * app/Http/Kernel.php
*/

protected $middleware = [
        \RahulAlam31\LaravelAbuseIp\Middleware\AbuseIp::class,
        .....
]

Laravel 11 :

/*
 * bootstrap/app.php
*/
->withMiddleware(function (Middleware $middleware) {
    $middleware->append(\RahulAlam31\LaravelAbuseIp\Middleware\AbuseIp::class);
});

Si vous ne souhaitez pas utiliser ce middleware directement dans vos routes, vous pouvez créer un alias avec aliasMiddleware() et utiliser cet alias dans vos fichiers de routes pour désactiver les visites des IP spammantes.

Laravel 10 et versions inférieures :

/*
 * app/Http/Kernel.php
*/

protected $routeMiddleware = [
    .....,
    'abuseip' => \RahulAlam31\LaravelAbuseIp\Middleware\AbuseIp::class,
];

Route::get('/xyz', function () {
    //
})->middleware('abuseip');

Laravel 11 :

/*
 * bootstrap/app.php
*/

->withMiddleware(function (Middleware $middleware) {
    //
})
->aliasMiddleware('abuse_ip', \RahulAlam31\LaravelAbuseIp\Middleware\AbuseIp::class);

// Ou utilisez-le dans votre fichier de routes

Route::middleware(AbuseIp::class)->get('/', function () {
    return view('welcome');
});

Le middleware vérifie chaque IP entrante et la compare avec les données d’AbuseIPDB. Si l’IP est jugée abusive, elle est bloquée et un message d’erreur est renvoyé.


La bibliothèque Laravel Abuse IP est un outil puissant pour toute application Laravel nécessitant une protection supplémentaire contre les comportements abusifs. Elle offre une intégration fluide avec l’API d’AbuseIPDB, permettant de vérifier, bloquer et signaler des adresses IP malveillantes automatiquement. Que vous gériez une petite application ou une plateforme à grande échelle, cette bibliothèque peut vous aider à renforcer la sécurité de votre projet en limitant les tentatives d’attaques.

Avec ses fonctionnalités de détection automatique, de signalement, et de personnalisation, Laravel Abuse IP se positionne comme un outil essentiel pour les développeurs Laravel soucieux de protéger leurs applications contre les menaces potentielles. N’attendez plus pour l’intégrer à votre projet et bénéficier d’une couche supplémentaire de sécurité.

Vous devriez également aimer

Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants

Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?

Alerte : Un faux plugin de sécurité WordPress utilisé pour propager un malware

Data Smuggling avec les émojis : l’astuce méconnue d’Unicode

Tailwind CSS v4.0 : La révolution de la productivité Front-End

Partager cet article
Facebook Twitter LinkedIn Copier le lien Imprimer
Qu´en avez-vous pensé ?
Ennuyant0
Triste0
Révoltant0
Drôle0
Accablant0
Plaisant0
Malin0
Surprenant0
Waouh0
Article précédent Protonmail surveille le darkweb pour protéger vos accès
Article suivant Comment créer une landing page avec Pinkary en quelques étapes

Restez connecté

Facebook Like
Twitter Suivre
Instagram Suivre
Youtube S´inscrire
banner banner
Faites confiance à BBND
Développez tous vos projets digitaux grâce à une équipe d'experts
En savoir plus

Dernières actualités

Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
//

Le blog BBND
Actualités et nouvelles tendances du numérique

Catégories news

  • Actualités Numériques
  • Blockchain
  • Business Intelligence
  • Cybersécurité
  • Data
  • Développement Web
  • Intelligence Artificielle
  • Hardware
  • Mobile
  • Technologie
  • Web Design
  • Web Marketing

Notre société

  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact

Liens utiles

  • Mentions légales
  • CGV
  • Politique de confidentialité

Nos services

  • Développement web/mobile/desktop
  • SEO
  • Stratégie de communication & Community management
  • Audit d’ergonomie
  • Solutions de cybersécurité
  • Outils de cybersécurité
  • E-droit & E-réputation
  • Innovation de service & Innovation technologique
  • Intelligence Artificielle & Business Intellligence
  • Design graphique
  • Jeux mobile
  • Motion design
  • Impression tout support
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Suivez-nous

© 2023 BBND. All Rights Reserved.

Un projet digital ?

Notre équipe d'experts couvre de larges domaines du numérique

Contactez-nous pour nous en faire part !

Supprimé de la liste de lecture

Annuler
Welcome Back!

Sign in to your account

Mot de passe perdu ?