Загрузка файла в asp.net - PullRequest
2 голосов
/ 15 июня 2011

У меня есть ссылка на моем веб-сайте. Каждый раз, когда пользователь нажимает на эту ссылку, в этом действии загружается файл PDF.Но есть проблема, если пользователь знает ссылку на файл, он / она напрямую добавляет адрес файла в браузер и может также загрузить файл.То, что я хочу защитить, загружается напрямую, введя URL-адрес файла в адресной строке браузера.Любое предложение по этому поводу хорошо подойдет.

С уважением

SYED

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Поместите файл в одну из папок веб-сайта и установите аутентификацию для этой папки из web.config, используя аутентификацию формы и атрибут местоположения. Пользователи должны войти в систему, чтобы скачать PDF.

<authentication mode="Forms">
            <forms defaultUrl="Default.aspx" loginUrl="~/adminlogin.aspx" slidingExpiration="true" timeout="30"></forms>
        </authentication>

        <location path="[PDF Folder]">
        <system.web>
            <authorization>
                <allow roles="[role]"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>

This is only sample Get more details about above from net.
0 голосов
/ 15 июня 2011

Ну

  • вы можете использовать токен (этот «токен» сохраняется в виде ввода = «скрытое» имя = «значение токена» = «значение токена» HTML-элемента, чтобы использовать позже)
  • проверить, принадлежит ли реферер вашей странице формы

'токен', вы проверяете час начала загрузки файла pdf.

Я не могу сделать это в asp.net, но вы можете взглянуть на ASP.net.

простой пример кода:

<?
$token = $_SESSION['token'] = md5(uniqid()); 
echo "<form method='POST' action=""><input type='hidden' name='token' value='$token'>
      <input type='submit' value='Go!'>"; 

if($_POST["token"] == $token) {
    //show link pdf file
}else {
   die('Access denied');
}

?>

Я не говорю, что это полная безопасность, говорит, что это альтернатива.

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