클라이언트의 IP 주소를 얻으려면 ASP에서 Request.ServerVariables(REMOTE_ADDR)를 사용하십시오. 그러나 클라이언트가 프록시 서버를 사용하여 액세스하는 경우 얻는 것은 실제 클라이언트 IP 주소가 아니라 프록시 서버의 IP 주소입니다. 프록시 서버를 통해 클라이언트의 실제 IP 주소를 얻으려면 Request.ServerVariables(HTTP_X_FORWARDED_FOR)를 사용하여 읽으십시오.
그러나 모든 프록시 서버가 Request.ServerVariables(HTTP_X_FORWARDED_FOR)를 사용하여 클라이언트의 실제 IP를 읽을 수 있는 것은 아닙니다. 이 방법으로 읽은 IP 중 일부는 여전히 프록시 서버의 IP입니다.
또 한 가지 주의할 점은 클라이언트가 프록시 서버를 통해 액세스하지 않는 경우 Request.ServerVariables(HTTP_X_FORWARDED_FOR)로 얻은 값이 비어 있다는 것입니다. 따라서 프로그램에서 이 방법을 사용하려면 다음과 같이 할 수 있습니다.
...
userip = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
userip =이면 userip = Request.ServerVariables(REMOTE_ADDR)
...
즉, 클라이언트가 프록시 서버를 통과하면 HTTP_X_FORWARDED_FOR 값이 사용됩니다. 클라이언트가 프록시 서버를 통과하지 않으면 REMOTE_ADDR 값이 사용됩니다.