Как защитить файл hibernate.cfg.xml? (Nhibernate). В настоящее время он находится на пути к веб-приложению и может просматриваться через браузер.
Как защитить файл hibernate.cfg.xml? (Nhibernate)
Ответ 1
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="hibernate.cfg.xml"
type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>
</system.web>
<configuration>
Ответ 2
В вашем файле hibernate.cfg.xml должно быть указано "Копировать в выходной каталог: копировать всегда". Когда вы его создаете, оно копируется в прямой вывод. Если вы публикуете свой сайт, он будет только в вашем каталоге вывода (bin), чтобы никто не смог получить к нему доступ.
Ответ 3
Это очень хороший вопрос.
Должно быть несколько способов защитить его. Я могу думать о том, что если вы не используете XML на веб-сайте, чтобы изменить тип MIME XML, зарегистрированный на веб-сайте, чтобы он не обслуживался.
Другие решения, непосредственно не защищающие файл "hibernate.cfg.xml":
1) Определите конфигурацию в web.config с помощью обработчика раздела NHibernate
2) Настроить в коде
3) Установите NHibernate для чтения файла с расширением .config
Ответ 4
Он может жить в каталоге bin, и таким образом он защищен, а если вам нужно его изменить, ваше приложение будет автоматически перезагружаться по мере внесения изменений в каталог bin.
изменить
вы действительно захотите/должны сделать это, если ваш nhibernate-код живет в отдельной библиотеке классов, так что вы не хотите смешивать его конфигурацию с web.config(или app.config, если вы используете библиотеку между интерфейсами)
Ответ 5
Вставьте NHibernate config в web.config, таким образом, он не будет отображаться в браузерах.
Ответ 6
Когда вы публикуете свой сайт, первое, что вы делаете, - это удалить файл "hibernate.cfg.xml" , расположенный в корневой папке, поэтому нет необходимости его защищать
Ответ 7
Поместите его в папку App_Data. Папка App_Data представляет собой специальную защищенную папку в веб-приложениях ASP.NET, доступ к которой не может быть получен через браузер. Я, как правило, размещаю все свои файлы конфигурации (за исключением, конечно, web.config).