当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何用ASP获取真实IP地址

ASP
ASP六大对象介绍
使用Filter实现信息的二次检索
让弹出窗口变得“听话”一些
在ASP中利用“正则表达式” 对象实现UBB风格的论坛
“Web 匿名用户”帐户密码的位置
对一些编程初学者的良言警句
ASP编程中15个非常有用的例子
精彩:ASP遗留的二十大积习
关于Asp代码与页面的分离
教大家如何利用ASP打造网站论坛DIY(1)
教大家如何利用ASP打造网站论坛DIY(2)
网站安全:防范ASP木马的十大基本原则
用ASP设计一个留言薄
趣味访客计数器设计两则
我的ASP之旅—二级联动菜单制作
ASP编程--新手上路篇:ASP技术简介
用ASP实现网上考试系统
请注意!常见的ASP脚本攻击及防范技巧
ASP开发的WAP格式简易邮件系统实例
asp基础教程:网页间数据传递方法小结

如何用ASP获取真实IP地址


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 260 ::
收藏到网摘: n/a

  大家都知道,在ASP中可以使用Request.ServerVariables("REMOTE_ADDR")来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。要想透过代理服务器取得客户端的真实IP地址,就要使用Request.ServerVariables("HTTP_X_FORWARDED_FOR")来读取。

  不过要注意的是,并不是每个代理服务器都能用Request.ServerVariables("HTTP_X_FORWARDED_FOR")来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

  还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用Request.ServerVariables("HTTP_X_FORWARDED_FOR")取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

  ......
  userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
  ......

  即:如果客户端通过代理服务器,则取HTTP_X_FORWARDED_FOR的值,如果没通过代理服务器,就取 REMOTE_ADDR的值。