ASP如何獲取真實IP地址


 大家都知道,在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")取到的值將是空的。因此,如果要在程序中使用此方法,可以這樣處理:

  1.   ......
  2.   userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  3.   If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
  4.   ......


即:如果客戶端通過代理服務器,則取HTTP_X_FORWARDED_FOR的值,如果沒通過代理服務器,就取 REMOTE_ADDR的值。
 






[本日志由 FindSome 于 2014-08-06 06:44 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: asp ip Request ServerVariables
相關日誌:

评论: 1 | 引用: 0 | 查看次数: 15017
回复回复Orlando[2018-06-01 03:16 AM | del]
Great web site! It looks very good! Maintain the good job!
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭