mysql 注入问题.
当前情况,手上帮人修改一个非常老的网站,他里面的sql语句都是没有预处理的.
现在我无法做到帮他全部改成pdo,不想那么麻烦,我用正则添加把所有的sql语句中php变量都加上了单引号,并开启了gpc.
现在假如$sql="SELECT * FROM users
WHERE username
= '$name' ADD pwd
='$pwd'";
我觉得这样好像不能注入了.我自己测试是将$name改成xxx'# 其他的都不会.不太懂sql.
请问现在这个还能被注入吗.
如果能,怎么防护?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
防止sql注入是要改成参数化查询的,而不是拼接sql
采用PDO或者MySQLI预处理,绑定参数或者值的方式才能杜绝SQL注入。
各种高级语言连接mysql的类库应该都会提供用带占位符参数的SQL,实际执行的时候,传入参数值就可以了,这种方式有效的防止sql注入问题。
比如java的。
对sql进行预处理可以避免。
装个安全狗什么的,代码不用改了