ASP根据IP来判断跳转页面
2013-08-26 16:13
225 查看
真正IP的取得应该这样: 程序代码 ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") if ip = "" then ip=Request.ServerVariables("remote_addr") end if if instr(ip,"'")>0 then ip="0.0.0.0" end if 这样可以突破代理IP查看到真实IP。而不是单纯地用一句 程序代码 ip=Request.ServerVariables("remote_addr") 这样如果人家用了代理,只能得到代理服务器IP。 我们知道,IP格式是这样的:aaa.bbb.ccc.ddd 每一位是0到255。所以,我们可以将任意一个IP转换成一个数IPNUMS ASP公式: 程序代码 ip="172.16.0.1" arr=split(ip,".") IPNUMS=int(arr(0))*16777216+int(arr(1))*65536+int(arr(2))*256+int(arr(3))-1 response.write IPNUMS 这样得出的结果,是唯一的,大小关系与IP的所属关系是相同的。 在IP进行比较的时候,就直接比较IPNUMS的大小来判断是否在你需要的IP段内。 如,校内IP段一是这样:172.16.0.1-172.18.255.254 转换后:2886729728 - 2886926333 现有一个内网IP:172.17.100.100转换后为:2886820963 可以知道2886729728<2886820963<2886926333 所以,可以知道这个IP在内网里,就用跳转跳到1.asp 程序代码 response.Redirect "1.asp" ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 这句,如果使用了代理IP上网,这将透过代理得到真实IP。但如果没有用代理,则将得到一个空值。所以,下面对得到的IP进行判断是否使用了代理: if ip = "" then ip=Request.ServerVariables("remote_addr") end if 如果没有用代理那么ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")值为空 ,则用ip=Request.ServerVariables("remote_addr") 得到真实IP。 详细说一下第一部分。 ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") if ip = "" then ip=Request.ServerVariables("remote_addr") end if if instr(ip,"'")>0 then ip="0.0.0.0" end if 如果IP中包含有符号',则IP为0.0.0.0 if instr(ip,"'")>0 then ip="0.0.0.0" end if 这种方法主要是决对规范IP,使得后面使用split(ip,".")的时候在任何情况下都不会出错。
相关文章推荐
- ASP根据IP来判断跳转页面
- 如何实现网站根据ip判断地区 自动跳转到所属地区页面【PHP版】
- 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
- 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
- asp.net网站首页根据IP自动跳转指定页面的示例
- asp.net网站首页根据IP自动跳转指定页面的示例
- 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
- PHP获取IP地址及根据IP判断城市实现城市切换或跳转
- asp.net - GridView根据linkButton值不同跳转不同页面
- 如何使用 asp.net 4.0 新特性 路由功能 有助于seo优化 给一个 asp.net web项目(网站项目) 增加路由功能 ,继承,给根据路由生成的url的结尾,增加一个有利于seo优化的斜杠 /,跳转到一个路由生成的url页面
- ASP判断是否移动设备访问,实现根据电脑或手机跳转到不同的站点
- asp 根据ip跳转
- a标签根据js返回值判断页面是否跳转
- 根据USER-AGENT判断手机类型并跳转到相应的app下载页面
- dede首页添加根据IP访问区域跳转对应页面
- php 来访国内外IP判断代码并实现页面跳转
- PHP代码根据IP判断城市并跳转
- 根据IP自动跳转地区页面功能实现
- php 来访国内外IP判断代码并实现页面跳转
- 记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)