当前位置:Gxlcms > 数据库问题 > sqlalchemy防sql注入

sqlalchemy防sql注入

时间:2021-07-01 10:21:17 帮助过:6人阅读

= "(SELECT count(id) FROM {0} WHERE {0}.id IN :in_str);".format(cls.__tablename__) cursor = db.get_engine(current_app, cls.__bind_key__) return cursor.execute(text(sql), in_str=in_str).fetchone()[0]

 

对于 where 一般的防sql注入:

sql = """
                    (select {index}.sec_id,
                    from    {index},
                            {main}
                    where   {index}.sec_id= {main}.sec_id
                    and     {main}.user_id=:user_id);
                """.format(index=TableA.__tablename__,
                           main=TableB.__tablename__)
        cursor = db.get_engine(current_app, TableB.__bind_key__)
        return cursor.execute(text(sql), user_id=user_id).fetchall()

 

防sql注入 只能对 where里面 等于 号 后面的进行防注入,其他部分的 字符串 仍然需要拼接

 

其余关键字中的使用方法 参考如下 官网教程

官网教程:https://docs.sqlalchemy.org/en/latest/core/tutorial.html#using-textual-sql

 

sqlalchemy防sql注入

标签:字符串   rom   turn   sele   mys   其他   col   div   tab   

人气教程排行