Лучшие практики для безопасной загрузки изображений через WebService - PullRequest
0 голосов
/ 15 февраля 2012

В настоящее время я создаю ASP.NET MVC 3-WebApp, которая обрабатывает множество изображений, скажем, до 100 на страницу.На данный момент само WebApp обслуживает изображения.Причина в том, что я хочу убедиться, что только авторизованные и авторизованные пользователи могут загружать изображения.Этот подход страдает от производительности, потому что, с одной стороны, браузеры загружают изображения последовательно, а с другой - это не очень хорошо масштабируется.Поэтому я хотел бы представить внешний WCF-WebService с другого хоста, который обслуживает изображения и только изображения.Это работает очень хорошо, но на данный момент я не знаю, как сделать URL-адрес загрузки безопасным.

На моей странице из допустим, скажем "www.imageviewer.com", я хотел бы иметь много тегов изображений, таких какИтак: [Image-Tag] Source = "imageservice.imageviewer.com/Download/someID" [/ Image-Tag]

Я знаю, что могу отправить некоторую зашифрованную информацию о безопасности в URL-адресе загрузки, например, UserID или другоеSecurityTokens и сделать некоторую обработку с этим.Но это не помешает, чтобы пользователь (или другой пользователь) мог загрузить изображение в другом браузере, не входя в систему.

Я хотел бы иметь решение на основе сеанса.Только при наличии действительного сеанса после входа в WebApp браузер должен загружать изображение из WebService.

Есть идеи, как решить эту проблему?

1 Ответ

1 голос
/ 15 февраля 2012

Являются ли веб-сервисы новым регулярным выражением?

Некоторые люди, сталкиваясь с проблемой, думают: «Я знаю, я воспользуюсь веб-сервисом». Теперь у них две проблемы.

Пожалуйста, опишите, как, по вашему мнению, веб-служба будет загружать ваши изображения быстрее? Там будет больше накладных расходов (упаковка XML (un), добавление еще одного слоя кода), и, поскольку веб-сервис не является более или менее HTTP-запросом, чем то, что ваш браузер делает при запросе изображения, вы все равно столкнетесь с лимитом браузера: соединения.

Браузер на самом деле не последовательно загружает изображения, а скорее делает это со скоростью примерно от двух до восьми одновременно в один и тот же домен.

Загрузка изображений из разных поддоменов - более распространенный подход, и добавление отложенной загрузки ускорит его еще больше. Затем вы все равно можете защитить его, используя информацию, хранящуюся в вашем сеансе, куки или заголовки.

Если вы, с другой стороны, просто хотите получить ответ на свой вопрос, а не дружественный совет: вы можете просто обезопасить свой сервис с помощью Пользовательского валидатора имени пользователя и пароля , где вы просто переопределите валидатор для проверки ваших известных учетных данных пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...