PHP - 阻止外部 API 呼叫

PHP - Block External API Calls

我在 PHP

的站点中创建了一个 API

现在我想保护它,因为我不希望其他网站 and/or 用户可以从不属于我的网站调用它

只能从我的网站拨打电话

我该怎么办?

谢谢。

您可以在 API

的开头使用它
if($_SERVER['REMOTE_ADDR'] != '127.0.0.1'){
    die;
}

它将终止所有未从您的服务器调用的 API 次尝试。

编辑

或者如果您希望用户能够调用 API,您可以给他们一个 API 密钥,您将把它存储在您的数据库中。

例如

$con = mysqli_connect("localhost","my_user","my_password","my_db");
$key = mysqli_real_escape_string($con, $_GET['key']);
$search = mysqli_query("SELECT * FROM user WHERE api_key = '$key'");
if(mysqli_num_rows($search)==0){
    // kill the request
    die;
}
else{
    // Allow the request and do your business
}