pyList

torndb 防sql注入的正确使用方式

torndb 是一个非常轻量级别的包装, 非常的适度, 推荐使用。基本上是拼 SQL 的,但是帮你做了一些 ORM 和工作,以及防范 SQL 注入问题。

torndb 防sql注入的正确使用方式

拼接SQL

对未确定数据类型千万不要用简单的字符串拼接,如下面例子

db.query("SELECT * FROM entries WHERE title = %s", title)  # 应该这么写
db.query("SELECT * FROM entries WHERE title = %s" % title) # 不要这么写

关于 SQL 注入

SQL 注入是非常常见的一种网络攻击方式,主要是通过参数来让 mysql 执行 sql 语句时进行预期之外的操作。

torndb

  • 默认的字符集为 utf8,默认时区为 time_zone='+0:00',默认连接数据库的端口为 3306,如果非 3306 端口则将端口加在 host 后面。
  • torndb 对数据库增删查改的使用较 MySQLdb 要简洁些,把 commit、cursor 都隐藏了,查询返回的结果直接处理成字典,可直接通过字典的形式获取数据库表中对应字段内容。
  • torndb 每次获取 cursor 的时候会检查链接是否存在或链接的 idle_time 是否超过了 max_idle_time,超过了则会重新建立一个新的链接。

项目地址

torndb https://github.com/bdarnell/torndb 1

本文标签: sql torndb 注入 正确 方式
本文网址: https://pylist.com/t/1476324646 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
验证码图片
相关推荐