sql注入

所谓的sql注入就是当我们输入用户名和密码时用户输入了用户名+‘#,没有输入密码就直接连接数据库的操作

当我们开发人员进行编程时,如果将要发送的mysql语句用拼接的方式发送时:

eg:

name = input("请输入用户名")
pwd = input("请输入密码")
sql = "select * from user_info where name = '%s' and pwd ='%s'" %(name,pwd)  #此处进行了拼接操作

count= cursors.execute(sql)

当用户输入了用户名+’#,此时‘会与第一个’%s‘的第一个引号匹配,剩余密码部分跟在#后变成注释,相当于被注释。从而实现不用密码登陆数据库。


解决办法:

以参数的方式在发送时进行数据传递,参数放在列表中

count= cursors.execute(sql,[name,pwd])

该方法内部实现对#的转译,不会让它变成注释的含义!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值