用asp得到客户端ip地址为什么总是服务器的

gl0218 2004-08-11 05:26:01
我在asp程序里用:
'取得客户端ip地址
ip = ""
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If ip = "" Then
ip = Request.ServerVariables("REMOTE_ADDR")
end if
得到客户端的真实ip地址,然后用input框显示,可是为什么每回返回的好像都是服务器端的地址?
...全文
195 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlejc2 2004-10-12
  • 打赏
  • 举报
回复
好的,我也学习一下,先盖个章。呵呵。
hqcsx 2004-10-12
  • 打赏
  • 举报
回复
<%IP= Request.ServerVariables("REMOTE_HOST") %>就可以获得客户端的IP地址了.绝对正确.
顺子 2004-10-12
  • 打赏
  • 举报
回复
學習中~~
yinxiong2002 2004-10-12
  • 打赏
  • 举报
回复
这里的代理服务器是winget
用Request.ServerVariables("HTTP_X_FORWARDED_FOR")也不能得到真实的ip地址
谁还有更好的方法,能透过代理服务器得到计算机的真实ip地址
dragonlyf 2004-08-11
  • 打赏
  • 举报
回复
Request.ServerVariables(“ REMOTE_ADDR ”)
gl0218 2004-08-11
  • 打赏
  • 举报
回复
老大们,你们看看我的程序不是那么实现的了,我是问为什么得到的是服务器的。我在北京,我同学在太原,总不会说代理吧?根本没代理
jiangsmile 2004-08-11
  • 打赏
  • 举报
回复
在 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 的值。
aspgreener 2004-08-11
  • 打赏
  • 举报
回复
这个是表示如果你设置了代理就会把代理的ip给ip
没有的话,就把客户端的ip给ip

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧