如何使用php脚本确定应用程序是在Internet或Intranet上运行

时间:2013-08-28 07:24:33

标签: php

是否有任何方法可用,通过我们可以确定我们当前的连接是通过互联网或内部网使用PHP脚本。

谢谢......

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

像这样:

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