我已按照步骤在sqlite3数据库中添加用户身份验证。 当尝试从经过身份验证的数据库访问表时,如果没有用户名,则会向我提供未经过身份验证的用户'错误。这就是我们想要的。
但现在当我使用db浏览器为sqlite3打开数据库时,它会打开。 为什么会这样?
有什么方法可以阻止我的数据库被其他任何东西访问
答案 0 :(得分:1)
sqlite_user
表无法访问(不可读且不可写) 非管理员用户,对于管理员用户是只读的。但是,如果相同 数据库文件由省略的SQLite版本打开-DSQLITE_USER_AUTHENTICATION
编译时选项,然后是sqlite_user
任何人都可以阅读这个表,任何人都可以写 首先运行“PRAGMA writable_schema=ON
”语句。
没有身份验证检查代码的SQLite版本不会检查身份验证。
为防止其他人阅读数据库文件,您必须加密它。