我正在构建一个旨在从localhost管理的站点,但包含向Internet或本地网络用户公开数据的页面.我可以依赖PHP的$ _SERVER ['REMOTE_ADDR']作为将用户标识为localhost的安全/可靠方式吗?谢谢!
编辑: 为了澄清,我只关心确定请求是否来自localhost(也许有更好的方法).
Ste*_*Don 11
该变量由Apache(或其他Web服务器守护程序)提供的数据填充,并且应该可靠地识别连接另一端的IP地址,是的.检查127.xxx(几乎总是127.0.0.1)和:: 1(对于IPv6).正如Senica所说,它可能并不总是存在(例如,从命令行而不是通过Web服务器运行时).但如果它被填满,它应该是可靠的.
为了能够伪装它,有人已经需要对你的网络和系统进行相当广泛的访问,无论如何都无法用PHP来防范它.