如何保护我的“hibernate.cfg.xml”文件? (NHibernate的)。它目前位于网络应用程序的路线中,可以通过浏览器查看。如何保护我的“hibernate.cfg.xml”文件? (Nhibernate)
回答
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="hibernate.cfg.xml"
type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>
</system.web>
<configuration>
这是一个非常好的问题。
必须有几种方法来保护它。我能想到的一点是 - 如果您没有在网站上提供XML,则需要更改针对Web站点注册的XML的MIME类型,以便不会提供该服务。
其他解决方案不直接固定 “的hibernate.cfg.xml” 文件:
1)中的代码
使用NHibernate节处理程序
2)配置定义web.config中的配置3)安装NHibernate读取扩展名为.config的文件
将NHibernate配置放到web.config中,这样它就不会在浏览器中查看。
它可以存在于bin目录中,并且这种方式受到保护,并且如果您需要修改它,您的应用程序将在bin目录中进行更改时自动重启。
编辑
你可能真的想/要做到这一点,如果你的NHibernate的代码存在于一个单独的类库,这样你不想在web.config中混合其配置(或app.config中如果共享接口的库)
1+用于提醒bin – Aliostad 2010-10-11 11:23:43
你的hibernate.cfg.xml应设置为“复制到输出目录:始终复制”当你建立了它复制到你的输出直接。如果您发布您的网站,它只会出现在您的输出(bin)目录中,这样任何人都无法访问它。
当你发布你的网站,你做的第一件事就是删除“的hibernate.cfg.xml”文件位于根文件夹,所以没有必要将其固定
但配置信息是必要的,所以这会打破应用程序的权利? – Andrew 2010-11-11 10:37:45
当您构建应用程序时,配置文件将被复制到bin文件夹,因此现在位于根文件夹中的配置文件无用,您可以安全地将其删除。 – 2010-11-17 10:44:02
把它放在你App_Data文件夹。 App_Data文件夹是ASP.NET Web应用程序中特殊的受保护文件夹,无法通过浏览器从外部访问。我倾向于把所有的配置文件放在那里(当然除了web.config)。
- 1. NHibernate的 - 无法找到hibernate.cfg.xml文件
- 2. 如何保护我的文件
- 3. 如何调用hibernate.cfg.xml文件?
- 4. 如何保护文件
- 5. 如何保护htdocs文件
- 6. node.js如何保护文件?
- 7. 如何保护SAM文件
- 8. 如何保护文件?
- 9. 如何保护Swagger.yaml文件?
- 10. 如何保护PHP文件
- 11. 如何保护XML文件?
- 12. 如何配置我的nhibernate项目在hibernate.cfg.xml中使用memcached?
- 13. 找不到文件hibernate.cfg.xml
- 14. 使用nHibernate,我如何在我的web应用程序和测试项目中管理我的hibernate.cfg.xml文件?
- 15. Hibernate无法找到我的hibernate.cfg.xml文件
- 16. 如何保护.so我嵌入到我的.apk文件中?
- 17. 保护文件
- 18. 如何保护用户的文件
- 19. 如何保护目录中的文件?
- 20. 如何保护项目的源文件?
- 21. 如何保护iOS软件包文件
- 22. 配置hibernate.cfg.xml文件
- 23. 如何保护我的网站的图像和JS文件
- 24. 如何保护我的连接字符串内的.dll文件
- 25. 如何保护我的swf/Flash文件中的嵌入字体?
- 26. 如何在Android中的strings.xml文件中保护我的密钥
- 27. 我该如何保护hbase?
- 28. 如何从反编译器中保护我的flash exe文件
- 29. 如何在Laravel中保护我公共文件夹的路径
- 30. 如何保护我的文件数据免受磁盘损坏?
这似乎很干净,有兴趣听到人们对此的看法... – Andrew 2010-10-11 12:34:26
顺便说一句,这正是默认使用* .config文件所做的 – 2010-10-11 17:18:15