【LanceZhang】ASP.NET獲取IP的6種方法
服務端:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->//方法一
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"];
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->//方法一
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"];
客戶端:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->//方法五
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;
}
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->//方法五
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;
}
22日新增:
來自印度的MCT Maulik Patel提供了一種服務端的解決方案,很好:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy
{
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else// not using proxy or can't get the Client IP
{
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
備註:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy
{
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else// not using proxy or can't get the Client IP
{
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
備註:
1. 有些代理是不會發給我們真實IP地址的
2. 有些客戶端會因為“header_access deny”的安全設定而不發給我們IP
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-407075/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取爬蟲動態IP的三種方法爬蟲
- 關於java獲取本地ip的幾種方法Java
- 獲取執行計劃的6種方法
- VB6 獲取CPUID的幾種方法UI
- 獲取IP地址方法
- 獲取jdbctemplate的一種方法JDBC
- Javascript獲取原型的四種方法JavaScript原型
- Activiti獲取ProcessEngine的三種方法
- 獲取 Class 物件的 3 種方法物件
- Apapche獲取真實IP地址方法
- 獲得ip地理資訊的幾種方法【最全】
- ASP.NET獲取客戶端IP及MAC地址ASP.NET客戶端Mac
- 獲取表單物件的三種方法物件
- js根據ip地址獲取省份城市的方法JS
- PHP獲取IP地址的方法,防止偽造IP地址注入攻擊PHP
- php 獲取IPPHP
- java獲取當前路徑的幾種方法Java
- PHP獲取POST資料的3種方法PHP
- Java獲取堆疊資訊的3種方法Java
- React 中獲取資料的 3 種方法:哪種最好?React
- asp.net 獲取客戶端瀏覽器訪問的IP地址ASP.NET客戶端瀏覽器
- Linux下設定靜態IP和獲取動態IP的方法Linux
- ASP.NET獲取IP及電腦名等資訊的簡單方法+通用類檔案原始碼ASP.NET原始碼
- 前端Js獲取本網IP和外網IP方法總彙前端JS
- 取IP地址的方法
- 7種Linux中獲取CPU速度的方法Linux
- Java之獲取隨機數的4種方法Java隨機
- android獲取控制元件的幾種方法Android控制元件
- php獲取網頁內容的三種方法PHP網頁
- Oracle獲取繫結變數的各種方法Oracle變數
- Oracle 獲取執行計劃的幾種方法Oracle
- js獲取元素的方法(獲取html元素的方法)JSHTML
- 如何獲取外網IP和IP的資訊
- 獲取本機電腦IP的正確使用方法
- saltstack獲取IP地址
- 獲取網路卡 IP
- 獲取IP地址命令
- Spring6 當中 獲取 Bean 的四種方式SpringBean