我正在寻找一个好的实现来保护我用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之类的更多机制