定制 a4sex/time-token-service 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-19