【发布时间】:2013-08-31 03:50:17
【问题描述】:
是否有任何方法可用,通过我们可以确定我们当前的连接是通过互联网还是使用 php 脚本的内部网。
谢谢.....
【问题讨论】:
-
检查请求源的IP地址
标签: php
是否有任何方法可用,通过我们可以确定我们当前的连接是通过互联网还是使用 php 脚本的内部网。
谢谢.....
【问题讨论】:
标签: php
你可以使用$_SERVER["HTTP_HOST"]变量来获取是localhost还是其他IP地址。
【讨论】:
您可以对照 $_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
【讨论】: