PHP 最简单的API 请求频率限制 方式

例如 限制 API 每秒仅允许请求一次

原来的API这样

$data = "Data Returned from API";
header('Content-Type: application/json');
die(json_encode($data));

加限制以后 这样

session_start();
if (isset($_SESSION['LAST_CALL'])) {
    $last = strtotime($_SESSION['LAST_CALL']);
    $curr = strtotime(date("Y-m-d h:i:s"));
    $sec =  abs($last - $curr);
    if ($sec <= 1) {
        $data = 'Rate Limit Exceeded';  // rate limit
        header('Content-Type: application/json');
        die (json_encode($data));
    }
}
$_SESSION['LAST_CALL'] = date("Y-m-d h:i:s");

// normal usage
$data = "Data Returned from API";
header('Content-Type: application/json');
die(json_encode($data));

以时间作为判断依据
这个适合小应用使用 其他规模的还是使用 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注