1. 程式人生 > >關於獲取客戶端IP問題

關於獲取客戶端IP問題

//相關程式碼
1、HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
2、HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
3、HttpContext.Current.Request.UserHostAddress

1、其中2和3的效果相同,區別可google。1表示可以獲取到使用代理的IP地址,當然只是在客戶端使用透明代理的時候才能獲取到原始的IP地址。對於,使用了高匿的代理,伺服器端是無法獲取到原始IP的,因此這給爬蟲工程師們留了一條後路。

2、IIS日誌中也會記錄,訪問的客戶端的IP地址,他記錄的IP地址和2、3記錄的IP地址是相同的,如果使用的是代理記錄的是代理IP地址。

3、專案接觸到的經驗:一些學校內部的伺服器,如果是學生使用自己的校園網這時候獲取到的客戶端IP有可能只是學生的內網地址而不是外網出口地址,但是如果是在外網訪問學校的伺服器這時候獲取到的客戶端IP是正常的就是客戶端外網地址。學校內部也是多個使用者共用一個外網地址。

4、IP私有地址段

  

參考文章:

  https://www.cnblogs.com/bdqlaccp/p/3698589.html

  https://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9C