真正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来判断跳转页面的更多相关文章

  1. asp.net中,跳转页面的几种方式

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  2. 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!

    一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...

  3. asp.net跳转页面的三种方法比较

    目前,对于学习asp.net的很多朋友来讲,实现跳转页面的方法还不是很了解.本文将为朋友们介绍利用asp.net跳转页面的三种方法,并对其之间的形式进行比较,希望能够对朋友们有所帮助. ASP.NET ...

  4. ASP.NET弹出提示点击确定之后再跳转页面的方法

    //ASP.NET弹出提示点击确定之后再跳转页面的方法 //弹出了提示并且通过location.href转到了DeskTop.aspx页面 Response.Write("<scrip ...

  5. asp.net跳转页面的三种方法比较(转)

    2006-10-20 14:32 [小 大] 来源: 博客园 评论: 0分享至: 百度权重查询 词库网 网站监控 服务器监控 SEO监控 手机游戏 iPhone游戏 今天老师讲了三种跳转页面的方法,现 ...

  6. JS定时刷新页面及跳转页面

    JS定时刷新页面及跳转页面 Javascript 返回上一页1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 2. history ...

  7. 常用的js跳转页面方法实现汇总

    1.window.location.href方式 <script language="javascript" type="text/javascript" ...

  8. iOS极光推送 点击推送消息跳转页面

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  9. js跳转页面方法大全

    js跳转页面方法大全<span id="tiao">3</span><a href="javascript:countDown"& ...

随机推荐

  1. Java中万恶的注解

    本文由码农网 – 孙腾浩原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 当Java 1.5引入注解,企业开发者对简化EJB和其他企业产品开发抱有很大期望.可以看一看同一时期的一篇文章 ...

  2. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

    准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...

  3. iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer

    首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...

  4. CSS链接、光标、DHTML、缩放

    个属性 18.2 CSS中光标的使用(更详细可看文档) 属性名称                属性值                说明 cursor                 auto    ...

  5. Oracle- 表的管理

    一.表名和列的命名规则 1.必须以字母开头. 2.长度不能超过30字符. 3.不能使用Oracle的保留字. 4.只能使用如下字符 A-Z,a-z,0-9,$,#等. 二.Oracle支持的数据类型 ...

  6. ABAP DEBUG

    [Function] Command=/H Type=SystemCommand 将上面的文件推动到SAP 窗口 可以启动调试 ------------------------------------ ...

  7. C# Winform 支持Hex与ASCII输入和切换的文本框

    最近一直在做一个支持串口,TCP,UDP通讯调试的一体化工具(也就是C#串口调试工具 v2.0的第三版),其中涉及到16进制数据和ASCII码的输入,所以继承了TextBox的基础上,写了这个支持He ...

  8. tableview 上拉时 标题行出现在顶部不动效果

    类似这种效果: 其实很简单,利用tableview 的plain属性,然后使用section,其实滑上去不动的是  section的headView. -(NSInteger)numberOfSect ...

  9. 什么是IDOC,以及IDOC的步骤

    创建IDOC:   第一步:WE31 创建IDOC所包含的字段.   第二步:WE30 创建IDOC 把Segment分配给IDOC   第三步:WE81  创建信息类型   第四步:WE82   把 ...

  10. 如何使得VIM显示行号

    如何使得VIM显示行号: :set number