// Created on savesnippets.com ยท https://savesnippets.com/C9guJWo2jjwa57 = 1; if ($allow) $tokens -= 1; rewind($fh); ftruncate($fh, 0); fwrite($fh, json_encode(['tokens' => $tokens, 'ts' => $now])); flock($fh, LOCK_UN); fclose($fh); return $allow; } if (!rateLimit('login:' . $_SERVER['REMOTE_ADDR'], burst: 5, refillPerSec: 0.2)) { http_response_code(429); exit('Too many requests'); }