当前位置:首页 > 数据库 > SQlite

在sqlite3.connect()中使用用户输入的变量时,是否存在安全风险?

我让用户都通过python应用程序创建并连接到数据库,

           dbname = raw_input("Please enter the game name you wish to connect to, or the name of a new game: ")
           db = sqlite3.connect(dbname)

我很好奇:潜在的恶意用户是否可以使用任何形式的输入来攻击数据库(假设我在其他处理程序中没有其他漏洞),或攻击运行python的底层系统? (我知道用户可以通过一遍又一遍地运行程序来继续创建无限数量的数据库,但是除了配额之外,我没有其他解决方案.)

提前致谢!

特拉维斯

解决方法:

它们可以传入“:memory”,这可能会对系统造成负面影响,也可能不会对系统造成负面影响,具体取决于您的应用程序执行的操作.

它们可以是control transactions(通过isolation_level参数),这可能会破坏程序与数据库的交互.

我会根据可能的数据库名称的字典检查用户输入.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!