dev/asp.net, c#

[asp.net] 클라이언트의 IP주소 얻기 - Request.ServerVariables["HTTP_X_FORWARDED_FOR"], Request.ServerVariables["REMOTE_ADDR"]

코딩for 2021. 1. 18. 11:01
반응형

 

요청한 클라이언트의 IP 가져오기

 

Request.ServerVariables["REMOTE_ADDR"];  를 통해서 기본적으로 요청 클라이언트의 IP 를 얻어올 수 있다.

하지만 해당 서버가 proxy 서버를 통해서 전달이 된 경우  REMOTE_ADDR  는 proxy 서버의 IP 가 들어가게 된다.

이러한 경우 실제 IP 를 얻기 위해서는 http 헤더에 "X-Forwarded-For"  를 통해서 IP 를 얻어올 수 있다.

string ipaddr = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ipaddr))
{
    ipaddr = Request.ServerVariables["REMOTE_ADDR"];
}

* 참고: 닷넷 프로임워크의 HttpRequest 객체의 Request.UserHostAddress 를 통해 "REMOTE_ADDR" 와 같은 값을 얻을 수 있다.

 

 

 

[Request.ServerVariables Collections  글 보기]

 

[asp.net] Request.ServerVariables Collections 정보 보기

Request ServerVariables Collection ALL_HTTP HTTP_CONNECTION:keep-alive HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v..

askforyou.tistory.com

 

 

 

반응형