为什么占位符,可以防止sql注入漏洞?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ideality_hunter/article/details/78082147

为什么占位符,可以防止sql注入漏洞?

--非占位符方式
前端页面传入后端什么,就直接放入最终的sql语句中,不做任何处理

delete from userTable t where  
用户正常操作,删掉一个人
t.id='123'
delete from userTable t where  t.id='123' 
黑客破坏性操作,修改查询条件,删掉所有人,对数据造成破坏
t.id='123' or 1=1
delete from userTable t where  t.id='123' or 1=1


--占位符方式
前端页面传入后端后,在放入最终的sql语句中之前,需要做处理,给参数用'单引号括起来

delete from userTable t where t.id=?
用户正常操作,删掉一个人
123
delete from userTable t where  t.id='123' 
黑客破坏性操作,修改查询条件,不会对数据库造成破坏
123 or 1=1
delete from userTable t where  t.id='123 or 1=1'



展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页