来自SQLite DB的信息通过Web服务器(显示在HTML浏览器中)呈现给用户.数据库由独立于Web服务器的小应用程序一次性加载.无法从用户浏览器更改DB数据(这是只读服务).
由于Web服务器具有自己的用户标识,因此它使用"其他"权限访问SQLite DB文件.出于安全原因,我想将DB文件权限设置为rw-rw-r--.
不幸的是,通过此权限集,我收到一条警告attempt to write a readonly database at line xxx,指出有关SELECT事务的行(原则上是只读的).当然,我没有结果.
如果权限更改为rw-rw-rw,一切正常,但这意味着每个人都可以篡改数据库.
是否有任何理由不能以只读方式访问SQLite DB?
是否存在需要写访问的"幕后"处理,即使对于SELECT事务也是如此?
查看StackOverflow表明人们通常会抱怨相反的情况:遇到只读访问权限,阻止写入数据库.我的目标是保护我的数据库免受任何更改尝试.
对于完整的故事,我的Web应用程序已编写Perl并使用DBD::SQLite