2016-04-05 4 views
1

У меня есть веб-сайт MVC без аутентификации. В каталоге веб-сайта у меня есть папка \ ProjectNotes, которая содержит файл внутри Notes.txt. Ни эта папка, ни текстовый файл не являются частью решения, но все же копируются в публикации.Веб-сайт MVC - как предотвратить доступ к статическим файлам

Моя проблема заключается в том, что с помощью веб-браузера любой может получить доступ к mysite.com/ProjectNotes/Notes.txt, и я не могу этого предотвратить. Я попытался добавить конкретный маршрут, чтобы вывести пользователя на страницу с ошибкой (без эффекта) и в веб-конфигурацию, которую я пробовал, но это тоже не сработало.

Как я могу предотвратить доступ к файлу Notes.txt с использованием структуры MVC?

+0

Это должно работать для вас : routes.IgnoreRoute ("{resource} .txt/{* pathInfo}"); –

+0

Он ничего не делает. У меня также есть одна и та же строка, чтобы игнорировать файлы .axd. – VictorySaber

+0

вы пробовали это. Если это не поможет, вы можете использовать файлы robot.txt и писать пути, которые вы не хотите, чтобы пользователь был доступен, вы можете больше искать файл robot.txt .. и если есть строка в код, то есть некоторый эффект от него, поэтому не говорите, что он ничего не делает –

ответ

4

Вы должны использовать файл Web.Config для своего случая. Добавить в корневые Web.Config файла в <system.webServer> раздел:

<security> 
    <requestFiltering> 
    <hiddenSegments> 
     <add segment="ProjectNotes"/> 
    </hiddenSegments> 
    </requestFiltering> 
</security> 

На самом деле ваш вопрос не имеет ничего общего с MVC, но с ограничениями IIS (или другими ограничениями веб-сервером, но я предполагаю, что вы используете IIS)

+0

Это лучший способ :) – VictorySaber

+0

@VictorySaber рад помочь;) –

Смежные вопросы