Аудио файлы: проблема безопасности; как предотвратить несанкционированную загрузку аудиофайлов с сервера - PullRequest
2 голосов
/ 02 марта 2010

Для церковного веб-сайта, которым я управляю, необходимо разместить аудиофайлы (проповеди) на веб-сайте. Там будет две категории аудио файлов; один будет размером выборки аудиофайла, длиной около 5 минут. Другой будет полная длина проповеди (30-50 +/- минут).

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

Мое беспокойство связано с такими инструментами, как Расширение Firefox «Download Helper» , так просто получить файлы мультимедиа с сервера. Это не будет иметь большого значения, за исключением того, что мы хотим продавать полноформатные аудио файлы Я использую ASP.NET 3.5 на IIS 7. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 02 марта 2010

Это можно сделать, сохранив файлы в месте, недоступном для веб-пользователей, таком как папка, не обслуживаемая IIS, или база данных SQL Server с соответствующими элементами управления доступом.

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

Response.Clear();
Response.ContentType = "audio/mpeg3";
Response.WriteFile("d:\private-downloads\private.mp3");
Response.AddHeader("Content-Disposition", "inline;filename=private.mp3");
Response.End();
1 голос
/ 02 марта 2010

Необходимо настроить IIS, чтобы он не обслуживал файлы из этого каталога, а затем написать страницу ASHX, которая передает файл после проверки авторизации.

0 голосов
/ 15 ноября 2011

Это простой способ защитить загрузку файла: http://www.magic -dev.com / файлы-protection.htm

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