проблема с загрузкой видеофайла - PullRequest
7 голосов
/ 04 марта 2010

Я использую VSTS 2008 + C # + .Net 3.5 + Silverlight 3.0 + ASP.Net для разработки приложения Silverlight (проигрывателя видео) в браузере, и эта функция проста, просто используйте MediaElement для воспроизведения удаленного видеофайла.

Удаленным сервером является Windows Server 2008 + IIS 7.0 + управление регулированием скорости передачи данных носителя IIS.

Поскольку запрашиваемый URL-адрес мультимедиа может быть обнаружен (например, из анализатора трафика), и я хочу знать, как запретить загрузку непосредственно с URL-адреса? я хочу, чтобы конечный пользователь использовал мое приложение медиапроигрывателя Silverlight в браузере для воспроизведения файла, чтобы он не мог напрямую загружаться на локальный компьютер. Любое простое и быстрое решение или справочный код / ​​документы?

Ответы [ 5 ]

1 голос
/ 18 марта 2010

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

1 голос
/ 04 марта 2010
  1. Используйте службу аутентификации ASP.NET для аутентификации / авторизации вашего пользователя
  2. Поместите видео в папку, где web.config предотвращает неаутентифицированный доступ к содержимому

Если я не ошибаюсь (и, честно говоря, есть шанс, поскольку я никогда не пробовал этот конкретный сценарий) ... который защитит ваш видеоконтент, предоставив авторизованному пользователю доступ к нему через silverlight.

0 голосов
/ 20 марта 2010

Простой способ - добавить обработчик для перехвата запроса, как сказал @pb. Я не знаю, правильно ли отправлять заголовки или нет. Простой способ - просто проверить, есть ли в запросе реферер.

String.IsNullOrEmpty (context.Request.ServerVariables [ "HTTP_REFERER"])

или вам понадобится авторизация и отправка куки-файла с запросом.

0 голосов
/ 16 марта 2010

Если я не ошибаюсь ... при правильной настройке медиасервисы IIS 7 не должны даже обслуживать необработанные файлы, а должны обслуживать необработанную необработанную страницу "aspx".

Я играл с этим всего несколько месяцев назад, но когда я установил плагин Media для IIS 7, он не обслуживал необработанные медиа-файлы, и я мог получить к ним доступ только через интерфейс silverlight. Я использовал Expression Studio, чтобы создать страницу просмотра Silverlight и закодировал ее для «плавного потока».

0 голосов
/ 11 марта 2010

То, что Джоэл предложил выше, может иметь смысл. Особенно, если веб-приложение хостинга Silverlight было запущено в пуле приложений с определенной идентификацией (т. Е. "SvcMyVideoApp"). Тогда вы можете сделать так, чтобы только эта личность могла получить доступ к папке с содержимым. Отклонить все другие запросы контента (кроме, может быть, вашего :))

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