sqlite用户/密码安全性

sqlite用户/密码安全性,sqlite,security,Sqlite,Security,我正在开发一个简单的网站,我正在尝试一个sqlite数据库。与MySQL不同的是,当你连接到一个数据库时,你不会说用户/密码,而MySQL会说 所以,任何人都可以访问它。保存敏感信息不是一个安全漏洞吗 即使隐藏了db.sqlite,从第三方程序/web查询此db以获取信息也不难 谢谢您的时间。sqlite依靠文件权限来保护数据,正如您所提到的,它不需要登录。从 SQLite没有用户帐户的概念,而是依赖文件系统获得所有数据库权限。这使得强制执行存储配额变得困难,强制执行用户权限变得不可能 保护数据

我正在开发一个简单的网站,我正在尝试一个sqlite数据库。与MySQL不同的是,当你连接到一个数据库时,你不会说用户/密码,而MySQL会说

所以,任何人都可以访问它。保存敏感信息不是一个安全漏洞吗

即使隐藏了db.sqlite,从第三方程序/web查询此db以获取信息也不难


谢谢您的时间。

sqlite依靠文件权限来保护数据,正如您所提到的,它不需要登录。从

SQLite没有用户帐户的概念,而是依赖文件系统获得所有数据库权限。这使得强制执行存储配额变得困难,强制执行用户权限变得不可能

保护数据库的方法是设置文件权限,以便只有特定用户才能访问数据。如果您在Linux上运行网站,则可以使用
chmod
设置这些设置。通常,您将web服务器设置为在其下运行,例如
www-data
,然后将对sqlite文件的访问限制为仅该用户。例如:

chown www data database.db#设置database.db文件的所有权。
chmod 600 database.db#只允许所有者读写。
这通过利用文件系统安全性防止第三方程序或任何外部方读取数据库

所以,任何人都可以访问它。保存敏感信息不是一个安全漏洞吗

正如其他人所说,这不是SQLite人员的设计目标。他们还有其他目标,比如能够将数据库代码直接嵌入到你的应用程序中


您可以对SQLite数据库进行密码保护和加密,但您需要使用。

前面的答案仅部分正确。您可以拥有需要身份验证的数据库,但必须与PHP分开编译SQLite


除上述内容外,您还可以通过执行以下操作之一来保护web服务器上的数据库:

  • 将数据库文件放在(web)文档根目录之外
  • 阻止对文件的访问,即通过apache服务器上的.htaccess

要稍微提高安全性,可以做一件事,使用SQLite的一个加密扩展。但仅此而已。请详细说明“通常情况下,您将web服务器设置为在其自己的用户下运行,然后将对sqlite文件的访问限制为仅限该用户。”,please?@T.Woody-我已经添加了一些额外的详细信息,说明如何限制对sqlite文件的访问。毕竟,它是一个轻量级数据库,没有大规模解决方案的膨胀和/或便利性-因此“SQLite”中的“lite”。