asp 取得用户真实IP,对代理地址仍然有效的函数

时间:2021-05-28

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 strIPAddrIf Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 ThenstrIPAddr = Request.ServerVariables("REMOTE_ADDR")ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 ThenstrIPAddr = 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 ThenstrIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)ElsestrIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")End IfgetIP = Trim(Mid(strIPAddr, 1, 30))End Functionip=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的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章