如何获取真实IP地址

goodstuday 2006-04-05 03:06:55
ip=request.ServerVariables("http_x_forwarded_for")
if ip="" then
ip=Request.ServerVariables("REMOTE_ADDR")'实际IP地址
end if
Response.Write ip
-----------------------------------------
以上代码放到外网服务器上,我让不同的人访问都得到ip:10.10.10.1
而我访问动网的论坛时,它提示我的ip是:218.0.*.* (嘿嘿,这里的*我就省略了)

有谁知道动网是怎么获取这样的ip吗
...全文
463 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodstuday 2006-04-07
  • 打赏
  • 举报
回复
回复的时候,都没看清我的问题 :(
soft_2008 2006-04-07
  • 打赏
  • 举报
回复
- -
liuph3000 2006-04-07
  • 打赏
  • 举报
回复
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

========================================
http://peipei3000.jishuqi.com/reg.asp
http://www.goofar.com/?ID=634664011139
========================================
ronakitty 2006-04-07
  • 打赏
  • 举报
回复
要想透过代理服务器取得客户端的真实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 的值。
goodstuday 2006-04-05
  • 打赏
  • 举报
回复
楼上的,你那是获取服务器的ip地址啊,而我是想得到客户端的ip地址。
我让不同地区的人访问,得到的都是10.10.10.1 ,是不是服务器设置了防火墙什么的缘故啊?如果是,那有什么解决方法?
ronakitty 2006-04-05
  • 打赏
  • 举报
回复
ip=Request.ServerVariables("LOCAL_ADDR")
sky0120 2006-04-05
  • 打赏
  • 举报
回复
是这样取啊应该没问题的

28,391

社区成员

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

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