内外网同时访问问题_判断访问计算机IP
2006-05-18 19:52:57 来源:WEB开发网我在内网搭了两个服务器,一个数据库服务器,一个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>
据说在使用中可能会出现警告,不过这只是测试,应该不碍事的,呵呵 :)
- ››同时处理Excel多个工作薄、多个工作表、多个单元格...
- ››同时启动两个Android模拟器
- ››同时访问SQL SERVER和SYBASE数据库
- ››访问频率监测有助数据库管理
- ››访问控制大师,使用pam来支持login的访问控制
- ››访问Windows 2008共享资源出错解决方法
- ››访问 IBM 数据库服务器的新方式 —— 构建 Web 服...
- ››访问控制:理解 Windows 文件和注册表权限
- ››同时访问 DFS 和 NFS V4 目录
- ››访问 Microsoft SQL Server 元数据的三种方法
- ››同时安装多版本Office 设定优先打开方式
- ››访问所有用户网站的内容都是一样的
更多精彩
赞助商链接