如何在php中将公共api设置为私有

如何在php中将公共api设置为私有,php,api,restrict,Php,Api,Restrict,我们已经为我们的web应用程序创建了api,我们希望将其私有化,这意味着除了我们之外没有人可以使用它,但现在api可以访问我们想要控制的公共应用程序,我们看到facebook如何限制应用程序访问给定域,我们如何做到这一点,所以只有某些域可以访问这些api调用,而其他域将被拒绝?我们使用php作为后端,因为我们正在发出post请求,我们无法传递密钥,这些密钥不会像任何人对密钥使用的预期那样工作您是否使用特定的框架或CMS?您可以将其限制为IP地址。基本上,检查请求的IP地址,如果不允许,返回403

我们已经为我们的web应用程序创建了api,我们希望将其私有化,这意味着除了我们之外没有人可以使用它,但现在api可以访问我们想要控制的公共应用程序,我们看到facebook如何限制应用程序访问给定域,我们如何做到这一点,所以只有某些域可以访问这些api调用,而其他域将被拒绝?我们使用php作为后端,因为我们正在发出post请求,我们无法传递密钥,这些密钥不会像任何人对密钥使用的预期那样工作

您是否使用特定的框架或CMS?您可以将其限制为IP地址。基本上,检查请求的IP地址,如果不允许,返回403。你的应用程序将被托管在哪里?例如,在AWS中,您可以在VPC中托管应用程序和API,并且只允许通过配置API安全组从VPC中访问您的API。你怎么不能发钥匙?没有理由不发布密钥/签名。我们不能限制ip,因为我们的api用于facebook应用程序和android应用程序@Satisfaction@runningmark你为什么不能发钥匙?您可以使用PHP获取请求的IP,并且只接受来自友好IP的请求。不过很容易搞笑。基本上有两种强大的方法来实现您想要的——在网络级别或通过发布API密钥