是否有一种可靠的方法,使用PHP来确定请求是否来自托管PHP脚本的同一主机?换句话说,有没有办法确定客户端和服务器计算机是否相同?
答案 0 :(得分:4)
您可以定义一个只有服务器知道您可以与请求一起发送的秘密令牌。
答案 1 :(得分:2)
答案 2 :(得分:2)
这是一个问题,我认为我们应该退后一步,问你为什么要做你正在做的事情?
通过您声明的方法确定请求是否来自本地计算机有问题,而不是最简单的虚拟接口和多宿主(意味着一台机器可能有许多IP地址,服务器可能只绑定一些它们)。
如果您要使用本地请求作为对某些特权的某种检查,我的建议是不要。是的,有人可以欺骗IP地址(但他们不会得到答复),但这可能仍然足够。
如果你正在做的是创建某种管理页面或网站,那么我的建议是绑定到localhost(127.0.0.1)并解决问题(非常多)。
此外,如果客户端和服务器位于同一台计算机上并且您没有使用某种特殊页面或网站,那么为什么他们需要通过网站进行通信?你可以在本地运行脚本。
基本上取决于具体情况。