电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Asp>>asp代码获取用户真实IP地址的函数及方法:

asp代码获取用户真实IP地址的函数及方法

来源:网络 | 2014-9-17 | (有1761人读过)

一般的程序都具备获取用户IP地址的命令,但是我们访问网站有两种一种是我们这种普通用户,一种是使用代理IP上网的用户,下面我来介绍介绍。
 
在asp中获取用户IP地址我们最简单的获取方法就是使用
 代码如下  
Request.ServerVariables("REMOTE_ADDR")
但是如果用户使用了代理服务器IP地址就不对了,但我们可通过
 代码如下  
Request.ServerVariables("REMOTE_ADDR")
结果上面的两个获取IP的方法我们可如下操作
 代码如下  
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
上面的只是一个简单的判断方法,在实际应用中我们可能碰到的情况更多,下面看一个不错的实例
 代码如下  
<%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地址了,但是也不能保存所有代理的都能获取到了,只是大家都使用上面的方法。
如果有使用asp.net的朋友可参考下面方法来获取
 代码如下  
//方法一
HttpContext.Current.Request.UserHostAddress;
//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
//方法三
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
//方法四(无视代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
//方法五
var ip = '<!--#echo var="REMOTE_ADDR"-->';
alert("Your IP address is "+ip);
//方法六(无视代理)
function GetLocalIPAddress() 

    var obj = null; 
    var rslt = ""; 
    try 
    { 
        obj = new ActiveXObject("rcbdyctl.Setting"); 
        rslt = obj.GetIPAddress; 
        obj = null; 
    } 
    catch(e) 
    { 
        // 
    } 
     
    return rslt; 
}
Asp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2019 电脑爱好者 版权所有 备案号:鲁ICP备09059398号