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

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 15 серпня, 2025
Вам коли-небудь доводилося ділитися файлами чи маршрутами з обмеженнями? Пакет 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

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

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