【问题标题】:python and sqlite - escape inputpython和sqlite - 转义输入
【发布时间】:2010-10-17 08:27:55
【问题描述】:

将 python 与 sqlite DB 结合使用 - 用于转义输出数据和提取输出数据的方法是什么?

使用 pysqlite2

Google 有相互矛盾的建议。

【问题讨论】:

    标签: python sqlite pysqlite


    【解决方案1】:

    使用第二个参数args传递参数;不要自己逃避。这不仅更容易,还有助于防止 SQL 注入攻击。

    cursor.execute(sql,args)
    

    例如,

    cursor.execute('INSERT INTO foo VALUES (?, ?)', ("It's okay", "No escaping necessary") )
    

    【讨论】:

    • 谢谢,我不确定python方式,我很清楚SQL攻击,这就是为什么我试图在python中找到最好的方式。谢谢,看看有没有更多的cmets,试试看。
    • @Wizzard,unutbu 是对的,这行得通,可以省去很多麻烦。对于您问题的另一部分:pysqlite2 将以正确的格式返回数据库中的对象,因此您可以直接将它们用作 int、float、string、datetime...
    猜你喜欢
    • 2011-03-14
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2012-03-25
    • 1970-01-01
    相关资源
    最近更新 更多