首页 > 学院 > 网络通信 > 正文

内外网同时访问问题_判断访问计算机IP

2019-11-05 03:14:45
字体:
来源:转载
供稿:网友

我在内网搭了两个服务器,一个数据库服务器,一个Web服务器。并且让网管影射个外网ip给Web服务器,使得外网内网可以同时访问。但这样产生了个问题,Web服务器取数据是用内网的相对地址,这样外网访问时就得不到数据,只能显示框架。要是把数据库服务器也映射了的话,那么内网就不能访问了,这样我就没办法调试了。假如把两个服务器合为一个,那么运行的速度就会受到影响,而现在老板也不想再往里投钱,究竟只是一个演示。而把两台机子搬到实验室的网络机房直接接到外网上也可以解决,但是网络机房是封闭的,有门禁卡,这样我就没办法经常进去修改。
仔细想了一下,觉得做个判定应该可以解决这个问题,只要判定访问的是内网IP还是外网IP,依据判定来进行对应的操作
查了查资料发现用JS不错,因为JS 获取的 IP 有个优点就是它获取的是本机设置的 IP,假如计算机通过局域网上网,那么它获得的就是计算机的局域网 IP,而不像 asp 中 Request 获取的是计算机连接到互联网的 IP。

代码(是从别人那抄来的,不过可以参考一下 :)   )
<Html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS获取客户端IP</title>
</head>

<body>
<script type="text/javascript" language="Javascript">
<!--
function GetLocalIPAddress()
{
    var obj = null;
    var rslt = "";
    try
    {
        obj = new ActiveXObject("rcbdyctl.Setting");
        rslt = obj.GetIPAddress;
        obj = null;
    }
    catch(e)
    {
        //异常发生
    }
   
    return rslt;
}

document.write("你的IP是:" + GetLocalIPAddress());
//-->
</script>
</body>

</html>

据说在使用中可能会出现警告,不过这只是测试,应该不碍事的,呵呵   :)

 



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表