0

是否有任何方法可用,通过我们可以确定我们当前的连接是通过 Internet 还是使用 php 脚本的 Intranet。

谢谢.....

4

2 回答 2

1

您可以对照 $_SERVER['REMOTE_ADDR'] 检查 $_SERVER['SERVER_ADDR'] 如果 IP 的第一个数字相同并且是 192,172,10 或 127,那么它很可能是一个 Intranet 页面。

像这样:

function is_intranet() {
  $serverIP = explode('.',$_SERVER['SERVER_ADDR']);
  $localIP  = explode('.',$_SERVER['REMOTE_ADDR']);
  return ( 
    ($serverIP[0] == $localIP[0]) && 
    (in_array($serverIP[0],array('127','10','172','192') ) ) 
  );
}

这可以使用这里的规则进行一些改进:http ://en.wikipedia.org/wiki/Private_network

于 2013-08-28T08:00:18.760 回答
1

您可以使用$_SERVER["HTTP_HOST"]变量来获取它是否是localhost或其他 IP 地址。

于 2013-08-28T07:26:23.047 回答