asp 取得用户真实IP,对代理地址仍然有效的函数
(编辑:jimmy 日期: 2025/11/8 浏览:3 次 )
Asp获取真实IP地址,最简单可用一句话获取:
ip=request.ServerVariables("REMOTE_ADDR")
response.Write(ip)
但这种方法对代理服务器上网的就不准了,故比较全面的是用下面的方法:取得用户真实IP,对代理地址仍然有效;返回值:文本类型的IP地址
<%
'******************************
'函数:GetUserTrueIP()
'参数:无
'作者:阿里西西
'日期:2007/7/13
'描述:取得用户真实IP,对代理地址仍然有效;返回值:文本类型的IP地址
'示例:<%=GetUserTrueIP()%>
'******************************
Function GetUserTrueIP()
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
GetUserTrueIP = Trim(Mid(strIPAddr, 1, 30))
End Function
%>
其他网友的补充
<%
Private 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
ip=getIP()
response.write(ip)
%>
得到真实IP
Function GetReallyIP()
Dim strIP
strIP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If strIP="" Or InStr(strIP,"unknown") Then
strIP=Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(strIP,",") Then
strIP=Split(strIP,",")(0)
ElseIf InStr(strIP,";") Then
strIP=Split(strIP,";")(0)
End If
GetReallyIP=Trim(strIP)
End Function
以上就是asp 取得用户真实IP,对代理地址仍然有效的函数的详细内容,更多关于asp真实IP的资料请关注其它相关文章!
下一篇:asp 实现显示所有的服务器变量值的函数