首页 > 数据库技术 > 详细

Python--sql注入

时间:2018-02-03 00:17:12      阅读:250      评论:0      收藏:0      [点我收藏+]
import pymysql

conn = pymysql.connect(host=‘211.149.218.16‘, user=‘jxz‘, password=‘123456‘, db=‘jxz‘, port=3306, charset=‘utf8‘)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
name = ‘zdq‘
sex = 0
cur.execute(‘select * from bt_stu where real_name=%s and sex=%s‘, (name, sex)) # 可以防止sql注入
print(cur.fetchall())


def test(a, b):
print(a, b)


li = [1, 2]
test(*li)
d = {‘a‘: ‘123‘, ‘b‘: ‘456‘}
test(**d)


def op_mysql_new(sql1, *data):
# 利用*data可变参数,就能防止sql注入
print(sql1)
print(data)
cur.execute(sql1, data)
print(cur.fetchall())


sql = ‘select * from user where username=%s and id=%s‘
name = ‘haha‘
id1 = 140
op_mysql_new(sql, name, id1)

# 同时执行多个sql executemany
sql = ‘insert into seq (blue,red,date) values (%s,%s,%s)‘
all_res = [
[‘16‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘15‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘14‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
[‘13‘, ‘01,02,03,05,09,06‘, ‘2018-01-28‘],
]
cur.executemany(sql, all_res)
conn.commit()

Python--sql注入

原文:https://www.cnblogs.com/wangsilei/p/8407282.html

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