Используйте Request.ServerVariables(REMOTE_ADDR) в ASP для получения IP-адреса клиента. Однако, если клиент использует для доступа прокси-сервер, получается 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.