jstewmc/floor-execution-time
Composer 安装命令:
composer require jstewmc/floor-execution-time
包简介
Floor a script's execution time
README 文档
README
Floor a script's execution time.
This library will calculate a script's total execution time from $_SERVER['REQUEST_TIME_FLOAT'] to now in milliseconds.
If the total execution time is less than the floor, it will sleep for the difference:
namespace Jstewmc\FloorExecutionTime; // instantiate the service with a 500 millisecond floor $service = new FloorExecutionTime(500); // ... something that takes 100 milliseconds $service(); // sleeps for 400 milliseconds
If the execution time is greater than the floor, it will not sleep:
namespace Jstewmc\FloorExecutionTime; // instantiate the service with a 500 millisecond floor $service = new FloorExecutionTime(500); // ... something that takes 1,000 milliseconds $service(); // sleeps for 0 milliseconds
Flooring execution time helps defend against brute-force and timing attacks. Scripts which are likely to be brute-forced should be slow. Scripts which are likely to be timing attacked should have a constant execution time. Some scripts should be both.
Dependencies
This library depends on the REQUEST_TIME_FLOAT server variable. There is no guarantee that every web server will provide the REQUEST_TIME_FLOAT variable, however, most will. If the REQUEST_TIME_FLOAT server variable does not exist, this library will throw a RuntimeException on construction.
License
Author
Version
2.0.0, December 27, 2016
- Rename
FloortoFloorExecutionTime. - Update
__construct()to throw exception ifREQUEST_TIME_FLOATserver variable does not exist. - Remove
$startargument of__invoke()method. It makes more sense to useREQUEST_START_TIME.
1.0.0, August 16, 2016
- Major release
- Update
composer.json - Clean up comments
0.1.0, August 3, 2016
- Initial release
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-08-07