网页特效代码┊JsCode.CN
网页特效代码 您的位置:首页 > 网页制作教程 > 动态网站制作
RSS订阅

ASP如何获取客户端真实IP地址

[ 发布者:佚名┊来源:网络整理┊时间:2006-03-25┊浏览: 人次 ]

  要想透过代理服务器取得客户端的真实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 的值。   

  '通用函数:如果不能取客户端真实IP,就会取客户端的代理IP

  Private Function getIP()

  Dim strIPAddr

  If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then

  strIPAddr = Request.ServerVariables("REMOTE_ADDR")

  ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then

  strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)

  ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then

  strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)

  Else

  strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

  End If

  getIP = Trim(Mid(strIPAddr, 1, 30))

  End Function

本类相关信息
ASP学习:史上最强的数据分页方法
我观前辈的帖子,皆由于数据库的SQL大不一致,且SQL SERVER,ACCESS等菜鸟...
ASP编码优化
ASP(ActiveServerPage)是Microsoft公司推出的基于PWS(PersonalWebServer)&a...
一个分页的ASP代码例子
<%''本程序文件名为:Pages.ASP%> <%''包含ADO常量表文件adoVB...
利用ASP发送和接收XML数据的处理方法...
  因为要做移动梦网WAP的一些接口,所以要用到这种方式,接下来会有ASP...
CopyRight © 2005-2008 JsCode.CN All Rights Reserved
网页特效代码┊JsCode v3.0 Designed By 在远方
说明:本站提供最新精选的免费网页特效代码,包括网页背景特效,网页文字特效,网页图片特效,导航菜单特效代码等20多种常用网页特效代码下载,以及Flash特效,网页模版,字体大全,字体下载等网页制作特效素材资源。网页特效代码欢迎您的光临!