发布时间:2017-04-19 10:58:28作者:知识屋
asp获取用户真实IP地址的方法 ASP如何获取客户端真实IP地址 一般的程序都具备获取用户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;
}
2013-08-11
ASP程序员必备的知识
网站建设:ASP网站防范黑客技巧
ADO 存取数据库时如何分页显示
ASP中set与dim的区别(自己的理解)
为你的ASP程序作一个负载测试
ASP用户登录模块的设计
asp获取文件md5值
asp生成静态HTML(动态读取)
ASP.NET中获得URL重写前的原始地址