Python sql注入 过滤字符串的非法字符实例


Posted in Python onApril 03, 2020

我就废话不多说了,还是直接看代码吧!

#coding:utf8
#在开发过程中,要对前端传过来的数据进行验证,防止sql注入攻击,其中的一个方案就是过滤用户传过来的非法的字符


def sql_filter(sql, max_length=20):
 dirty_stuff = ["\"", "\\", "/", "*", "'", "=", "-", "#", ";", "<", ">", "+", "%", "$", "(", ")", "%", "@","!"]
 for stuff in dirty_stuff:
  sql = sql.replace(stuff, "")
 return sql[:max_length]


username = "1234567890!@#!@#!@#$%======$%"

username = sql_filter(username) # SQL注入
print username

# 输出结果是:1234567890

补充知识:python解决sql注入以及特殊字符

python往数据库插入数据,

基础做法是:

cur=db.cursor()
sql = "INSERT INTO test2(cid, author, content) VALUES (1, '1', 'aa')"
cur.execute(sql,())

也可以这样:

cur=db.cursor()
sql = "INSERT INTO test2(cid, author, content) VALUES (%s, '%s', '%s')"
sql=sql%('2','2','bb')
cur.execute(sql,())

但是当含有特殊一点的字符时就有问题了,比如单引号,%等,甚至会被sql注入。

和其他语言一样,python也他的方法来解决sql注入。

cur=db.cursor()
sql = "INSERT INTO test2(cid, author, content) VALUES (%s, %s, %s)"
cur.execute(sql,('3','3','c%c'))

注意,后面2个%s的前后单引号去掉了。

结果如下:

Python sql注入 过滤字符串的非法字符实例

以上这篇Python sql注入 过滤字符串的非法字符实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的数学运算操作符使用进阶
Jun 20 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
python 画三维图像 曲面图和散点图的示例
Dec 29 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Python微信操控itchat的方法
May 31 Python
python序列化与数据持久化实例详解
Dec 20 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
基于pytorch中的Sequential用法说明
Jun 24 Python
Python调用jar包方法实现过程解析
Aug 11 Python
baselines示例程序train_cartpole.py的ImportError
May 20 Python
python数字图像处理:图像的绘制
Jun 28 Python
python传到前端的数据,双引号被转义的问题
Apr 03 #Python
Django实现将一个字典传到前端显示出来
Apr 03 #Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 #Python
Django import export实现数据库导入导出方式
Apr 03 #Python
Django用户身份验证完成示例代码
Apr 03 #Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 #Python
python 的topk算法实例
Apr 02 #Python
You might like
详解PHP中foreach的用法和实例
2016/10/25 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
利用python实现数据分析
2017/01/11 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
2014端午节活动策划方案
2014/01/27 职场文书
高中打架检讨书
2014/02/13 职场文书
小学毕业感言500字
2014/02/28 职场文书
志愿者活动总结范文
2014/04/26 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
公司备用金管理制度
2015/08/04 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL