【发布时间】:2011-06-05 04:36:18
【问题描述】:
我的 Microsoft Access DB 文件位于 APP_DATA 文件夹中。我的服务器是 Windows 2003,我想知道保护这个文件的最佳方法是什么。
那么哪个更安全?
./wwwroot/App_data/Database.mdb
或
./db/Database.mdb
【问题讨论】:
我的 Microsoft Access DB 文件位于 APP_DATA 文件夹中。我的服务器是 Windows 2003,我想知道保护这个文件的最佳方法是什么。
那么哪个更安全?
./wwwroot/App_data/Database.mdb
或
./db/Database.mdb
【问题讨论】:
如果 mdb 文件位于 App_Data 文件夹中,访问者无法下载您的 mdb 文件。 但是如果 db 文件夹中有 mdb 文件,访问者可以下载您的 mdb 文件。
如果你想把你的 mdb 文件放在 db 文件夹中,你必须为这个文件夹设置安全权限。
【讨论】:
这两种方法都是安全的,因为文件不会被提供给远程客户端(除非您创建 db 文件夹的虚拟路径。不是从站点提供的文件由 web.config 中的 httpHandlers 部分管理:
<add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
此处添加的任何带有 type=HttpForbiddenHandler 的文件类型都不会被提供。
将 Access 文件放置在哪里是个人喜好和访问权限的问题。如果您将它放在您的站点之外,即在 db 文件夹中,您将必须为您用于站点/应用程序的应用程序帐户设置权限。将其放置在您准备使用的 App_Data 文件夹中。此外,如果您在托管环境中,您可能无法将您的 Access 文件放在站点文件夹之外。
我的 2 美分:去 App_Data 文件夹。
.håkan
【讨论】: