首页
注册
登录
lilian57 最近的时间轴更新
lilian57
V2EX 第 20162 号会员,加入于 2012-04-28 17:47:38 +08:00
lilian57
提问
技术话题
好玩
工作信息
交易信息
城市相关
lilian57 最近回复了
2013-04-15 11:46:10 +08:00
回复了
nichan
创建的主题
›
Tornado
›
Tornado的防注入应该怎么做?
简单说一下
1.首先要理解为什么能防止sql注入:参数化查询,sql能重用查询计划(有助于提高性能)。而表名是不能参数化查询的
2.如果你用的sql模块的paramstyle不是'format', 'pyformat',也就是你的sql 形式是"SELECT * FROM user_info WHERE email = ?" 之类的你会更好的理解代码为什么是这样的。
3.自定义表名的时候应该先拼接表名(因为表名是安全的),再参数化查询(用户输入条件不安全)。不建议转义或过滤特殊字符。 cursor.execute("SELECT * FROM %s WHERE email = ?" % user_info, youremail) 或者 cursor.execute("SELECT * FROM %s WHERE email = %%s" % user_info, youremail)
»
lilian57 创建的更多回复
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1031 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms ·
UTC 19:46
·
PVG 03:46
·
LAX 11:46
·
JFK 14:46
Developed with
CodeLauncher
♥ Do have faith in what you're doing.