#asp.net #file #url-rewriting #download #webpage
#asp.net #файл #url-переписывание #Скачать #HTML
Вопрос:
Я использую ASP.NET .
У меня есть несколько аудиофайлов на сервере, и я должен предоставить пользователю временную ссылку для загрузки. Это означает, что через несколько часов ссылка должна быть недоступна, например, я даю пользователю:www.mysite.com/files/111.mp3 , но как защитить www.mysite.com/files из прямого доступа и загрузки любым пользователем?Является ли перезапись URL тем, что мне нужно?
Как я могу создать временную веб-страницу / ссылку для загрузки и защиты файлов от прямого доступа с адресной строки?
Может быть, мне следует хранить файлы в базе данных (у меня SQL Server 2008)?Может ли это помочь?
Ответ №1:
Я думаю, вам понадобится способ управлять временными ссылками (скажем, базой данных с отметками времени), и когда вы получите запрос по одной из этих ссылок, вы будете использовать HttpHandlers
для перехвата этого запроса извлечение вашей базы данных по запрошенной ссылке.
если указанный период времени все еще актуален, вы получите фактический файл с сервера и разрешите Httphandler
отправить его обратно пользователю в виде потока.
таким образом, конечный пользователь все равно получит запрошенный файл, но он увидит, что он получает файл по вашей временной ссылке (скажем:http://mysite.com/files/kdhsdg52354d ) и не сможете повторно использовать его по истечении определенного вами периода.
извините, я спешу, поэтому не смог лучше отформатировать ответ :).