首页 > 数据库技术 > 详细

怎么预防sql注入攻击

时间:2015-04-08 19:40:06      阅读:176      评论:0      收藏:0      [点我收藏+]

 

假设sql是搜索用户A的文章,sql会是这样:

select * from table where owner=‘A‘;

sql注入攻击者会修改用户名来实现攻击,例如把A 改成A‘ or 1=‘1

组合后的sql语句:

select * from table where owner=‘A‘ or 1=‘1‘;

这样就可以获取所有用户的文章

可见,sql攻击就是把部分数据内容伪造成sql语句,例如上面把 or 1=伪造成sql语句来实现攻击

而伪造的方法,就是在内容里面加入引号,所以预防sql注入的方法就是把传入的参数里面的引号进行转义,例如上面把用户名改成 A\‘ or 1=\‘1,就可以预防这样的sql攻击

引号包括单引号和双引号

 

python的MySQLdb模块中有专门转义的函数:

import MySQLdb


def safe(s):
    return MySQLdb.escape_string(s)

 

怎么预防sql注入攻击

原文:http://www.cnblogs.com/Xjng/p/4403378.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!