1. Go to this page and download the library: Download syntaxseed/iplimiter library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
syntaxseed / iplimiter example snippets
use Syntaxseed\IPLimiter\IPLimiter;
use Syntaxseed\IPLimiter\DatabasePDO;
$ipLimiter = new IPLimiter(new DatabasePDO($pdo), 'syntaxseed_iplimiter');
$ipLimiter = (new IPLimiter(new DatabasePDO($pdo), 'syntaxseed_iplimiter'))
->event('123.123.0.1', 'sendmail')
->log();
$ipLimiter->event('111.111.111.111', 'sendmail');
$isLogged = $ipLimiter->exists();
// $isLogged is false.
$ipLimiter->log();
$isLogged = $ipLimiter->exists();
// $isLogged is true.
$ipLimiter->event('123.123.0.1', 'sendmail');
$ipLimiter->log();
$ipLimiter->log();
$attempts = $ipLimiter->attempts();
// Returns 2.
$ipLimiter->resetAttempts();
// Sets value to 0.
$ipLimiter->event('123.123.0.1', 'sendmail');
$ipLimiter->log();
$lastTime = $ipLimiter->last(false);
// Returns the unix epoc time since last attempt.
$lastSeconds = $ipLimiter->last();
// Returns the # of seconds since last attempt.
$result = $ipLimiter->deleteIP('123.123.0.1');
// Returns false if no records were found/deleted. True otherwise.
$ipLimiter->event('123.123.0.1', 'sendmail');
$ipLimiter->log();
$status = $ipLimiter->isBanned();
// Returns false, ie not currently banned.
$status = $ipLimiter->ban();
// Now true, ie is currently banned.
$status = $ipLimiter->unBan();
// Now false, ie not currently banned.
$ipLimiter->event('111.222.333.444', 'sendmail');
$ipLimiter->log(); // User sent first mail.
$ruleResult = $ipLimiter->rule('{
"resetAtSeconds":3600,
"waitAtLeast":300,
"allowedAttempts":3,
"allowBanned":false
}');
// $ruleResult is false because there was NO time since the last (log) event.
$ipLimiter->event('111.222.333.444', 'sendmail');
$ipLimiter->log(); // User sent first mail.
$ruleResult = $ipLimiter->rule('{
"resetAtSeconds":3600,
"waitAtLeast":-1,
"allowedAttempts":3,
"allowBanned":false
}');
// $ruleResult is true because -1 means ignore time since last event, and only look at attempts. 1 <= 3 so PASS.
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.