Створення безпечних тимчасових посилань для обміну файлами в Laravel

Перекладено ШІ 1 Laravel News 02 червня, 2026

Вам коли-небудь доводилося ділитися файлами чи маршрутами з обмеженнями? Пакет Laravel ShareLink спростить цей процес, дозволяючи створювати захищені посилання з таймером та обмеженням використання — дізнайтеся всі його можливості в нашій статті

Пакет Laravel ShareLink дозволяє створювати, керувати та забезпечувати безпечні тимчасові посилання для файлів, маршрутів і моделей. За його допомогою ви можете легко ділитися матеріалами, встановлюючи кастомізовані терміни дії та обмеження на кількість переходів, а також отримувати API для управління поділом, наприклад, продовжувати термін дії вже існуючих посилань. Ось простий приклад з документації пакета:

use Grazulex\ShareLink\Facades\ShareLink;

// Поділитися файлом з обмеженим терміном дії
$link = ShareLink::create('/path/to/document.pdf')
    ->expiresIn(60) // 60 хвилин
    ->maxClicks(5)
    ->withPassword('secret123')
    ->generate();

echo $link->url; // https://yourapp.com/share/abc123xyz

Цей пакет також має безліч розширених можливостей, таких як обмін маршрутами, моделями Eloquent або встановлення IP-обмежень для посилань:

$link = ShareLink::create('/secure/document.pdf')
    ->expiresIn(60)
    ->burnAfterReading() // Знищення після першого доступу
    ->metadata([
        'allowed_ips' => ['192.168.1.0/24', '10.0.0.1'],
        'denied_ips' => ['192.168.1.100']
    ])
    ->generate();

Пакет також забезпечує CLI для генерації посилань, якщо вам зручніше створювати їх з командного рядка, ніж через код:

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

# Основні можливості

  • Кілька типів ресурсів - Простий обмін файлами, маршрутами та попереднім переглядом моделей
  • Обмежений доступ за часом - Встановлення термінів дії та обмежень на використання
  • Парольний захист - Додаткові паролі для підвищення безпеки
  • Обмеження швидкості - Обмеження на рівні токенів для запобігання зловживанням
  • Фільтрація IP-адрес - Дозвіл/заборона конкретних IP-адрес або CIDR-діапазонів
  • Підписані URL - Інтеграція підписаних маршрутів Laravel за бажанням
  • Знищення після прочитання - Одноразові посилання, які знищуються після використання
  • Комплексний аудит - Відстеження патернів доступу, IP-адрес і позначок часу
  • Розширена безпека - Захист від атаки методом брутфорсу, обмеження на введення паролів
  • Гнучка доставка - Підтримка X-Sendfile, X-Accel-Redirect та потокового обміну
  • API управління - Відкликання та продовження посилань програмно
  • Команди CLI - Повна підтримка команд Artisan
  • Спостережуваність - Вбудоване логування та інтеграція метрик
  • Легкість тестування - Комплексне покриття тестами з легким моканням

💻 Дізнайтеся більше на GitHub: Grazulex/laravel-sharelink

Популярні

Інше, що варто прочитати

14 Оновлено 01 червня, 2026

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

15 Оновлено 01 червня, 2026

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту

30 Оновлено 01 червня, 2026

Інтеграція Laravel Socialite з бібліотекою Google Client PHP

Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті