Liens de partage temporaires sécurisés

Le package Laravel ShareLink vous permet de créer, gérer et sécuriser des liens de partage temporaires pour les fichiers, les itinéraires et les modèles. Ce package permet un partage simple avec une expiration personnalisée et un nombre maximal de clics...

Liens de partage temporaires sécurisés

Le package Laravel ShareLink vous permet de créer, gérer et sécuriser des liens de partage temporaires pour les fichiers, les itinéraires et les modèles. Ce package permet un partage simple avec une expiration personnalisée et un nombre maximal de clics, et fournit une API pour la gestion des partages, par exemple en prolongeant la durée d’un partage existant. Voici un exemple de base tiré de la documentation du package :

use Grazulex\ShareLink\Facades\ShareLink;
 
// Share a file with expiration
$link = ShareLink::create('/path/to/document.pdf')
    ->expiresIn(60) // 60 minutes
    ->maxClicks(5)
    ->withPassword('secret123')
    ->generate();
 
echo $link->url; // https://yourapp.com/share/abc123xyz

Ce package dispose de nombreuses fonctionnalités avancées, telles que le partage d’une route, d’un modèle Eloquent, ou même la spécification de restrictions IP pour les liens de partage :

$link = ShareLink::create('/secure/document.pdf')
    ->expiresIn(60)
    ->burnAfterReading() // Self-destructs after first access
    ->metadata([
        'allowed_ips' => ['192.168.1.0/24', '10.0.0.1'],
        'denied_ips' => ['192.168.1.100']
    ])
    ->generate();

Ce package fournit également une CLI pour générer des liens de partage si vous souhaitez les créer à partir de la ligne de commande plutôt que via votre code :

$ php artisan sharelink:list --active
$ php artisan sharelink:create /reports/quarterly.pdf \
    --expires=72 \
    --max-clicks=10 \
    --password=Q4Report2024;

Caractéristiques principales

  • Plusieurs types de ressources : partagez des fichiers, des itinéraires et des aperçus de modèles en toute transparence
  • Accès limité dans le temps - Définissez des dates d’expiration et des limites d’utilisation
  • Protection par mot de passe - Portes de mot de passe en option pour une sécurité renforcée
  • Limitation du débit - Limitation du débit par jeton pour éviter les abus
  • Filtrage IP - Autoriser/refuser des adresses IP ou des plages CIDR spécifiques
  • URL signées - Intégration facultative de la route signée Laravel
  • Burn After Reading - Liens d’accès unique qui s’autodétruisent
  • Audit complet - Suivez les modèles d’accès, les adresses IP et les horodatages
  • Sécurité avancée - Limitation de mot de passe, protection contre la force brute
  • Livraison flexible - Prise en charge de X-Sendfile, X-Accel-Redirect et du streaming
  • API de gestion - Révoquer et étendre les liens de manière programmatique
  • ** Commandes CLI **- Prise en charge complète des commandes Artisan
  • Observabilité - Intégration intégrée de la journalisation et des métriques
  • Test-Friendly - Couverture complète des tests avec simulation facile

💻 Découvrez-le sur GitHub : Grazulex/laravel-sharelink

Article suivant
Steven KOULO
Steven KOULODéveloppeur Fullstack

Besoin d'un développeur pour votre prochain projet ? Je suis disponible pour des missions freelance.

Me contacter