IP-адрес клиента WebClient - PullRequest
1 голос
/ 14 июля 2011

У меня есть универсальный обработчик (ashx), который возвращает файл из файловой системы. Этот обработчик не стоит за логином. Однако мне нужно только вернуть файл, если запрос был сделан из другого приложения .net через объект WebClient. По сути, пользователь вводит URL-адрес ashx в поле и нажимает кнопку загрузки, чтобы безопасно передать файл.

В файле Ashx как определить, поступил ли запрос от "http://myapp.com/Upload.aspx"?
Спасибо, Вергилий

1 Ответ

2 голосов
/ 14 июля 2011

В файле ashx как определить, исходит ли запрос от "http://myapp.com/Upload.aspx"?

Вы абсолютно не можете сделать это, если ваш обработчик не требует никакой аутентификации. То же самоекак вы можете написать WebClient для использования этого обработчика, любой может. И у обработчика нет абсолютно никакой возможности узнать, откуда поступил запрос (кроме IP-адреса). Поэтому, если вы не сделаете так, чтобы этот обработчик ASHX требовал аутентификации, ваш единственный шансограничить звонящего по IP-адресу. В обработчике вы можете проверить, соответствует ли Request.UserHostAddress IP-адресу myapp.com.

...