我正在寻找一个好的实现来保护我用PHP编写的后端。

场景:

服务器1(www.domain.com)
仅将JS / HTML服务器发送到客户端

服务器2(www.domain2.com)
正在运行PHP服务器,其中使用JSON数据(由Sevrer1上的Javascript模板引擎呈现)响应服务器1。

如何阻止其他人从Server1获取JSON响应?
我知道我可以添加某种API密钥,但是它存储在JS中(每个人都可以读取),我知道我可以检查该请求是否来自服务器1 IP,但伪造这样的请求并不是什么大问题。

最佳答案

从Server1到Server2进行内部调用是一种解决方案,而不是将Server1暴露于Internet,而是将其添加到专用网络可能会有所帮助。

即使有人设法解决问题,您也可以添加验证,例如确保请求来源来自授权来源(在您的情况下为Server2)。
如果请求的来源是另一个来源,则直接返回而不进行处理。

如果您仍然对此抱有偏执,可以随时添加hash-based message authentication code之类的更多机制

07-27 19:31