asp

位置:IT落伍者 >> asp >> 浏览文章

asp获取用户真实IP地址的方法


发布日期:2023年11月26日
 
asp获取用户真实IP地址的方法

一般的程序都具备获取用户IP地址的命令但是我们访问网站有两种一种是我们这种普通用户一种是使用代理IP上网的用户下面我来介绍介绍

在asp中获取用户IP地址我们最简单的获取方法就是使用

                        代码如下                                                   

RequestServerVariables("REMOTE_ADDR")

                        

但是如果用户使用了代理服务器IP地址就不对了但我们可通过

                        代码如下                                                   

RequestServerVariables("REMOTE_ADDR")

                        

结果上面的两个获取IP的方法我们可如下操作

                        代码如下                                                   

userip = RequestServerVariables("HTTP_X_FORWARDED_FOR")

            

If userip = "" Then userip = RequestServerVariables("REMOTE_ADDR")

                        

上面的只是一个简单的判断方法在实际应用中我们可能碰到的情况更多下面看一个不错的实例

                        代码如下                                                   

<%Private Function getIP()
            Dim strIPAddr
            If RequestServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(RequestServerVariables("HTTP_X_FORWARDED_FOR") "unknown") > Then
            strIPAddr = RequestServerVariables("REMOTE_ADDR")
            ElseIf InStr(RequestServerVariables("HTTP_X_FORWARDED_FOR") "") > Then
            strIPAddr = Mid(RequestServerVariables("HTTP_X_FORWARDED_FOR") InStr(RequestServerVariables("HTTP_X_FORWARDED_FOR") ""))
            ElseIf InStr(RequestServerVariables("HTTP_X_FORWARDED_FOR") ";") > Then
            strIPAddr = Mid(RequestServerVariables("HTTP_X_FORWARDED_FOR") InStr(RequestServerVariables("HTTP_X_FORWARDED_FOR") ";"))
            Else
            strIPAddr = RequestServerVariables("HTTP_X_FORWARDED_FOR")
            End If
            getIP = Trim(Mid(strIPAddr ))
            End Function
            ip=getIP()
            responsewrite(ip)
            %>

                        

这样几乎可以获取到用户真实IP地址了但是也不能保存所有代理的都能获取到了只是大家都使用上面的方法

如果有使用aspnet的朋友可参考下面方法来获取

                        代码如下                                                   

//方法一
            HttpContextCurrentRequestUserHostAddress;

            

//方法二
            HttpContextCurrentRequestServerVariables["REMOTE_ADDR"];

            

//方法三
            string strHostName = SystemNetDnsGetHostName();
            string clientIPAddress = SystemNetDnsGetHostAddresses(strHostName)GetValue()ToString();

            

//方法四(无视代理)
            HttpContextCurrentRequestServerVariables["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("rcbdyctlSetting");
             rslt = objGetIPAddress;
             obj = null;
             }
             catch(e)
             {
             //
             }
            
             return rslt;
            }

                                       

上一篇:asp中isNull、isEmpty和空字符串的区别

下一篇:一个实用asp分页函数