← К списку версий
v0.7.1
25.07.2026
PATCH
Безопасность токенов: защищённые ссылки, трекинг просмотров
Added
- Безопасная генерация токенов: токены теперь создаются как криптостойкие случайные строки повышенной длины вместо простых числовых значений.
- Трекинг просмотров новые поля `views_count` и `last_used_at` в таблице `client_tokens` для отслеживания активности ссылок
- Управление токенами из админки на странице проекта (`/admin/projects/{id}`): создание, обновление (regenerate), отзыв, удаление токенов
- Форма создания токена метка, срок действия (часы), выбор клиента
- Маскировка токенов в таблице отображается маска `xxxx...xxxx` вместо полного токена
- Регенерация существующих токенов автоматическая миграция заменяет числовые/короткие токены на безопасные 64-символьные
- Статус токенов три состояния: Активен (зелёный), Истёк (жёлтый), Отозван (красный)
- Индикаторы статуса визуальные бейджи для каждого токена в таблице
Changed
- Версия платформы: 0.7.0 → 0.7.1
- `ClientToken` модель — добавлены поля `views_count`, `last_used_at` в fillable/casts; методы `isExpired()`, `regenerate()`, `incrementViews()`, `generateSecureToken()`, accessor `masked_token`
- `AdminProjectController` — добавлены методы: `generateToken()`, `revokeToken()`, `regenerateToken()`, `destroyToken()`
- `ProjectTokenController@guest` — теперь вызывает `incrementViews()` при каждом открытии гостевой страницы
- `routes/web.php` — добавлены 4 роута для управления токенами
Migration
- `2026_07_25_100001_add_security_fields_to_client_tokens_table.php` — добавление `views_count`, `last_used_at`
- `2026_07_25_100002_regenerate_insecure_tokens.php` — замена числовых/коротких токенов на безопасные