怎样获取客户端的ip地址?

itzhiren 2006-02-25 04:27:28
好多网站一进去的时候,都会显示访问客户的真实ip地址,请问这个是怎么实现的?
...全文
251 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
尚和空四 2006-03-21
  • 打赏
  • 举报
回复
rem ---得到真实的客户端IP---
CODE Copy ...
Public Function GetClientIP()
dim uIpAddr
' 本函数参考webcn.Net/AspHouse 文献<取真实的客户IP>
uIpAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If uIpAddr = "" Then uIpAddr = Request.ServerVariables("REMOTE_ADDR")
GetClientIP = uIpAddr
uIpAddr = ""
End function
rotApple 2006-03-15
  • 打赏
  • 举报
回复
见楼上或楼下的N多正解!!!
LIHY70 2006-03-15
  • 打赏
  • 举报
回复
studying
itzhiren 2006-03-15
  • 打赏
  • 举报
回复
最近在学习JSP,所以很少到asp这里来了。
jamila8 2006-02-27
  • 打赏
  • 举报
回复
<%


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

response.write getip()
%>
jspadmin 2006-02-27
  • 打赏
  • 举报
回复
itzhiren,最近怎么很少见到你?
sstgaps 2006-02-27
  • 打赏
  • 举报
回复
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
if userip = "" then
userip = Request.ServerVariables("REMOTE_ADDR")
end if
  • 打赏
  • 举报
回复
http://www.adjyc.com/?4577091
liuph3000 2006-02-27
  • 打赏
  • 举报
回复
楼上说的对
先判断是否使用真实地址,如果真实地址不为空的就直接取真实地址,否则取代理地址
yutian130 2006-02-26
  • 打赏
  • 举报
回复
楼上的请解释一下行吗??俺不知道。。
liuph3000 2006-02-26
  • 打赏
  • 举报
回复
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
========================================
anwell 2006-02-26
  • 打赏
  • 举报
回复
主要就是下面两个参数:
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
Request.ServerVariables("REMOTE_ADDR")

如果Request.ServerVariables("HTTP_X_FORWARDED_FOR")为空那么就是真实地址直接取Request.ServerVariables("REMOTE_ADDR")地址,如果不为空那么就是用代理连接的。
liguiman 2006-02-26
  • 打赏
  • 举报
回复
其实用 Request.ServerVariables("REMOTE_ADDR")就可以得到代理的ip
如果客户不用其它代理服务器,那么就是它本身的ip
sxsgssgs 2006-02-25
  • 打赏
  • 举报
回复
同上
piperzero 2006-02-25
  • 打赏
  • 举报
回复
function GetIp()
dim realip,proxy
realip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
proxy = Request.ServerVariables("REMOTE_ADDR")
if realip = "" then
GetIp = proxy
else
GetIp = realip
end if
end function

28,406

社区成员

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

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