脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页脚本专栏python→ Python过滤字符串非法字符

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

  更新时间:2020年04月03日 09:47:02  作者:淋哥 
这篇文章主要介绍了Python sql注入 过滤字符串的非法字符实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

#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注入 过滤字符串的非法字符实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

    • 这篇文章主要介绍了Scrapy实现模拟登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2021-02-02
    • 这篇文章主要介绍了python3中requests库重定向获取URL,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
      2022-09-09
    • 这篇文章主要介绍了Python实现矩阵运算的方法代码实例,想用python实现一个矩阵类,它可以像matlab或者numpy中的矩阵一样进行运算,生成一个矩阵类Matrix之后,他接收一个二维列表作为输入,然后将对应的值写到矩阵对应的位置,需要的朋友可以参考下
      2023-08-08
    • 这篇文章主要介绍了python3中的logging记录日志实现过程及封装成类的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
      2020-05-05
    • 下面小编就为大家带来一篇Python+MongoDB自增键值的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2016-11-11
    • Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,typing模块可以很好的解决这个问题。下面通过本文给大家介绍python使用typing模块加强代码的可读性,感兴趣的朋友一起看看吧
      2021-12-12
    • Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例
      2014-03-03
    • 这篇文章主要介绍了python中isdigit() isalpha()用于判断字符串的类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
      2022-11-11
    • 这篇文章主要介绍了pyecharts如何使用formatter回调函数的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
      2023-08-08
    • 这篇文章主要介绍了Python合并Excel表(多sheet)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2021-04-04

    最新评论