2017 © Pedro Peláez
 

library calculate-timeout

Calculate a timeout

image

jstewmc/calculate-timeout

Calculate a timeout

  • Sunday, August 14, 2016
  • by Jstewmc
  • Repository
  • 1 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

calculate-timeout

Calculate a timeout., (*1)

To defend against brute force attacks, some actions should be throttled., (*2)

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., (*3)

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

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., (*5)

That's it!, (*6)

License

MIT, (*7)

Author

Jack Clayton, (*8)

Version

1.0.0, August 13, 2016

  • Major release
  • Update composer.json

0.1.0, August 13, 2016

  • Initial release

The Versions

14/08 2016

dev-master

9999999-dev

Calculate a timeout

  Sources   Download

MIT

The Requires

 

The Development Requires

by Jack Clayton

php timeout calculate jstewmc

14/08 2016

v1.0.0

1.0.0.0

Calculate a timeout

  Sources   Download

MIT

The Requires

 

The Development Requires

by Jack Clayton

php timeout calculate jstewmc

13/08 2016

v0.1.0

0.1.0.0

Calculate a timeout

  Sources   Download

MIT

The Requires

 

The Development Requires

by Jack Clayton

php timeout calculate jstewmc