a4sex/time-token-service
最新稳定版本:v1.0.0
Composer 安装命令:
composer require a4sex/time-token-service
包简介
A simple `time-token` service based on creation time.
README 文档
README
Простой сервис для сохранения и получения времени готовности токена к проверке. В качестве токена может использоваться любой идентификатор(ID). Используется для установки времени ожидания доступа к сервису как превентивная защита от DDoS.
Принцип работы
Сохраняет в установленный экземпляр кэша идентификатор в качестве ключа и значение времени ожидания в качестве значения. Использует PSR-6 совместимый экземпляр кэша.
Как использовать
use FreedomSex\Services\TimeTokenService;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
// любой PSR-6 совместимый экземпляр кэша
// для примера указан FilesystemAdapter Symfony
// обычно используется MemcachedAdapter
$memory = new FilesystemAdapter();
$timeTokenService = new TimeTokenService($memory);
$id = '123456'; // любая строка
$timeTokenService->start($id, 2);
$timeTokenService->ready($id); // FALSE
sleep(2); // Подождать
$timeTokenService->ready($id); // TRUE
start($id, $delay = null, $expire = null)
По умолчанию время ожидания TimeTokenService::DEFAULT_DELAY 2 секунды. Время хранения токена ожидания TimeTokenService::TOKEN_EXPIRE 10 секунд.
// Параметры $delay и $expire не обязательны
$timeTokenService = new TimeTokenService($memory, $delay = null, $expire = null);
// OR
$timeTokenService->setDelay($time);
$timeTokenService->setExpire($time);
// OR
$timeTokenService->start($id, $delay = null, $expire = null);
// Параметры $delay и $expire не обязательны
ready($id)
Возвращает NULL если $id не существует или истекло время хранения. TRUE - если токен готов, FALSE - время не пришло.
left($id)
Сколько осталось времени. Отрицательное значение - токен готов, прошло времени от наступления готовности. Нулевое - токен готов только что.
restore($id, $delay = null)
Получить ожидаемое время готовности токена $delay по $id установленное на старте. Если не существует - вернет дефолтное значение или $delay.
Другие функции
expect($id)
Вернет ожидаемое время готовности токена $delay по $id или NULL
delay($time = null)
Вернет время ожидания $time или дефолтное значение
expires($expect, $expire = null)
Время хранения токена после которого он станен недоступен.
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-08-19