可以锁定sqlite3内存数据库以供python中的所有其他进程写入吗

鳞片

我想要一个可以位于内存中的临时数据库,并且只有创建它的应用程序才能写入它。数据不是秘密,所以它本身不是一个加密问题,我只想确保只有创建数据库的 python 程序可以写入它,以便表中的数据不能被任何其他程序或用户更改。

如果我做

conn = sqlite3.connect(':memory:')

这是否意味着其他任何人都可以通过使用conn变量在内存数据库中调用它还有其他方法可以写入内存数据库吗?

菲哈格

这是默认行为;

import sqlite3
conn = sqlite3.connect(':memory:')

在您的进程中为您提供一个新的内存数据库。如果另一个进程运行相同的代码,它们将获得自己的内存数据库。如果您再执行sqlite3.connect(':memory:')一次,您甚至可以在您的进程中获得第二个内存数据库!

默认情况下,另一个使用相同凭据运行的进程可以继续读取和写入您的内存。这样做没有什么正当理由。这是恶意软件的领域,不是程序可以偶然做到的。

为了避免这些恶意进程,您可以在自己的用户帐户下运行您的程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python中从sqlite3数据库写入CSV

使用Python的sqlite3模块,创建后可以将内存数据库保存到磁盘吗?

Python Sqlite3 附加到内存数据库

共享内存中的sqlite3数据库

如何将现有的数据库文件加载到Python sqlite3中的内存中?

从数据库中的其他表进行SQLite3更新

如何删除sqlite3中数据库的所有文件?

sqlite3数据库已锁定

新的sqlite3数据库已锁定

SQLITE3,使用其他表模式将数据复制到新的数据库文件中

在 Python 3 中用其他类型替换 NULL sqlite3 数据库列值的问题?

使用ʻexecutemany`更新现有SQLite3数据库中的条目(使用Python sqlite3)

为什么我的表单中的输入没有写入 django 中的 sqlite3 数据库

Python数据库sqlite3

如何使用python sqlite3包在python中的不同进程之间共享:memory:数据库

写入数据库时,Python 3中的SQLite3出现磁盘I / O错误

如何避免 Django 中的“数据库被锁定”sqlite3 错误?

SQLite3错误:数据库被锁定在Golang中

并发进程可以写入共享数据库吗?

为什么Sqlite3 数据库中没有用这段PHP 代码写入任何内容?

将 NSDictionary 数组写入 SQLite3 数据库

通过JDBC从Pyspark写入sqlite3数据库时没有此类表

用GnuPg加密sqlite3数据库可以吗?

Python sqlite3:如何检查连接是否是内存数据库?

如何在python3上显示在sqlite数据库中创建的所有表

Python 和 SQLite3 - 将数据导入现有数据库

Python:使用 SQlite3 数据库中的数据在 Tkinter 中构建条形图

具有Sqlite3的数据库

如何检查Yii2应用程序中的Web进程是否可以写入sqlite数据库文件?