人才网招聘信息:【求助】怎么判断登陆用户使用的是内网IP还是外网IP?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 06:15:46
我做的这个网站不希望外部IP访问,但由于其他原因,不能将网站放回内网。请问在程序里该怎么写才能判断出IP是内还是外?
"所有来自你的内网的访问都是来自 同一IP 地址",这个IP应该是统一对外的那个外网IP吧?

PS:客户端和服务器在同一局域网,我试过,在JSP中用request.getRemoteAddr()得到的是局域网的IP。我现在采用的方法是:
String a = request.getRemoteAddr();
if(!a.startsWith("10.")&&!a.startsWith("192")&&!a.startWith("172")&&!a.startsWith("127")&&!a.startsWith("169"))
response.sendRedirect("some_url");

你的网站应该是放在了外网,对外网来说,所有来自你的内网的访问都是来自同一IP地址,即你的网关的外网IP,所以你可以在程序判断一下客户的IP 是不是指定的IP即可。
如果是用ASP,下面是代码
IF Request.ServerVariables(REMOTE_ADDR)<>"xxx.xxx.xxx.xxx" then
Response.Redirect (错误提示页URL)
END IF