我目前正在开发一组PHP脚本,充当专用API,仅供某些授权机器使用。 脚本直接与MySQL数据库接口,所以我必须确保没有公共的未经授权的访问(如使脚本成功运行)是可能的。保护PHP脚本免受未经授权的访问
我一直在考虑不同的选择,但我决定来这里的一些不同的意见。
我在用nginx运行。
API由C#程序(使用WebClient)和其他一些服务器(可能会更改IP)在外部使用,所以我避免了基于IP的方法。
我正在考虑通过“钥匙”参数通过后,检查是否有匹配
if($_POST['key'] == 'key')
可能有更好的替代品,你做什么觉得?
HTTP Basic Auth在语义上比'key' POST参数更正确。还可以使用HTTPS来防止MITM攻击。最后,如果恶意方可以访问C#应用程序,则所有投注都将关闭,因为秘密可以简单地进行反向设计。 – univerio