关于获取客户端IP地址的问题

hgm210 2012-07-04 08:54:50
用request.ServerVariables("REMOTE_HOST")获取的地址是::1,连IP地址的基本格式都不是,后来我在网上查到要是有代理必须使用request.ServerVariables("HTTP_X_FORWARDED_FOR"),但获取的结果还是::1,我的脚本如下:

clientip=request.ServerVariables("REMOTE_HOST")
if clientip="" then
clientip=request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if

有没有代理获取的结果都一样,请问是哪里出了问题?
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2012-07-05
  • 打赏
  • 举报
回复
::1 获取的是IPV6的地址. 可配置系统禁用IPv6
hgm210 2012-07-05
  • 打赏
  • 举报
回复
已经搞定了,我发现在本机上测试不行,上传到服务器可以获取客户端地址!
scscms太阳光 2012-07-04
  • 打赏
  • 举报
回复
	If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then 
c_ip = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
c_ip = 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
c_ip = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
c_ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
get_IP =Trim(Mid(c_ip, 1, 30))

28,390

社区成员

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

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