PHP - 阻止外部API调用

时间:2016-04-12 18:07:18

标签: php api block

我在我的网站上用PHP创建了一个API

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

只能从我的网站进行通话

我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以在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
}