我想知道某个服务器设置。
假设我在我的本地网络上运行了一个Web服务器,可以从网络内部和网络外部使用www.example.com等网址访问。
我希望我的PHP网站能够确定请求是来自内部LAN还是来自外部。我怀疑使用IP地址是可能的,因为请求看起来好像来自公共IP地址,而不是内部的192.168.x.x.此外,公共知识产权可能会不时发生变化。
这是否可行,我怎样才能在PHP中实现这一目标?
答案 0 :(得分:2)
如果您的请求来自局域网内,则$ _SERVER ['REMOTE_ADDR']将来自私有IP地址组,如果来自局域网之外则不会。 除非您的内部网络配置不当,否则情况可能并非如此。
在这里查找正确的地址组 http://en.wikipedia.org/wiki/Private_network
如果您的内部DNS服务器将example.com解析为公共IP,那么请求似乎也来自公共IP,所以如果是这种情况,您也知道请求来自内部。
答案 1 :(得分:0)
只要您知道外部NAT IP范围适用于您的办公室,您就可以轻松访问$ _SERVER ['REMOTE_ADDR']值。