jstewmc/calculate-timeout 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

jstewmc/calculate-timeout

Composer 安装命令:

composer require jstewmc/calculate-timeout

包简介

Calculate a timeout

README 文档

README

Calculate a timeout.

To defend against brute force attacks, some actions should be throttled.

Given a timeout piecewise function and a value, this library will calculate the number of seconds a client should wait before trying an action again.

For example, consider a login action whose timeout depends on the number of consecutive failed login attempts:

use Jstewmc\Fx\Constant;
use Jstewmc\Interval\Interval;
use Jstewmc\PiecewiseFx\{PiecewiseFx, SubFx};

// define our timeout piecewise function...
// for values between 10 (exclusive) and positive infinity (INF), we want the user
//     to wait for 30 seconds
//
$fx = new PiecewiseFx([
    new SubFx(
        new Interval('(10, INF)'),
        new Constant(30)
    )   
]);

// create our calculate-timeout service
$service = new Calculate($fx);

// check the user's timeout...
// keep in mind, the actual return value is a DateInterval
//
$service(1);   // returns 0 seconds
$service(2);   // returns 0 seconds
$service(3);   // returns 0 seconds
$service(4);   // returns 0 seconds
$service(5);   // returns 0 seconds
$service(6);   // returns 0 seconds
$service(7);   // returns 0 seconds
$service(8);   // returns 0 seconds
$service(9);   // returns 0 seconds
$service(10);  // returns 0 seconds
$service(11);  // returns 30 seconds
$service(12);  // returns 30 seconds
$service(13);  // returns 30 seconds

The timeout will always be a DateInterval object with zero or a positive number of seconds.

That's it!

License

MIT

Author

Jack Clayton

Version

1.0.0, August 13, 2016

  • Major release
  • Update composer.json

0.1.0, August 13, 2016

  • Initial release

统计信息

  • 总下载量: 18
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-08-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固