【发布时间】:2012-06-06 08:24:32
【问题描述】:
我想将 SQLite 与 .net 应用程序一起使用。只有当 DLL 和数据库文件在 BIn 文件夹中并且 BIN 的权限设置为读/写时,它才有效。 这是安全风险吗?
【问题讨论】:
-
您是指通过您的应用程序施加的限制吗?因为 SQLite 绝对不会施加这种限制。
我想将 SQLite 与 .net 应用程序一起使用。只有当 DLL 和数据库文件在 BIn 文件夹中并且 BIN 的权限设置为读/写时,它才有效。 这是安全风险吗?
【问题讨论】:
是的,这是一个安全风险,而且,每次更新 Bin 文件夹中的文件时,都会导致您的应用程序重新启动。所以你把数据库文件放在 App_Data 文件夹中。
【讨论】:
是的,允许 IIS 工作进程对 bin 文件夹的读/写权限将允许任何可以对您的系统获得足够权限的人(以运行 IIS 的通常低权限帐户运行)现在可以更改您的应用程序二进制文件。
如果确实 SqLite 提出了这个要求(但我倾向于同意 Michael P 的评论),我不会在 IIS 下使用它。您是否应该使用它取决于您希望您的应用程序面临的安全风险以及安全漏洞的成本(管理您的邮票收藏与管理信用卡数据)。
我确实怀疑 Sqlite 将允许您将数据文件放在 App_Data 中,这些数据所属的位置。事实上,以下问题的答案概述了如何做到这一点:
How do I reference the Sqlite db file in the App_Data folder for my ASP.NET Web Application?
【讨论】:
仅当 DLL 和数据库文件在 BIn 文件夹中时才有效
嗯,这听起来像是一个拦截器。有一个免费的商业许可 Microsoft SQL Server CE。它完美而安全地融入 ASP.NET。以 DLL 形式运行,单个文件中的数据库最大 4GB。限制是文件大小和没有存储过程功能。
【讨论】: