jstewmc/ calculate-timeout
计算超时时间
v1.0.0
2016-08-13 22:58 UTC
Requires
- php: ^7.0
- jstewmc/piecewise-fx: ^1.0
Requires (Dev)
- jstewmc/fx: ^1.0
- jstewmc/interval: ^1.0
- jstewmc/test-case: ^1.0
This package is auto-updated.
Last update: 2024-08-29 04:14:36 UTC
README
计算超时。
为了防御暴力破解攻击,一些操作应该被限流。
给定一个超时分段函数和一个值,这个库将计算客户端在再次尝试操作之前应等待的秒数。
例如,考虑一个登录操作,其超时取决于连续失败的登录尝试次数
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
超时将始终是一个包含零或正数秒数的DateInterval
对象。
这就完了!
许可证
作者
版本
1.0.0, 2016年8月13日
- 主要版本
- 更新
composer.json
0.1.0, 2016年8月13日
- 首次发布