使用php链接数据库删除表信息[例02]-附上文

地址栏来一个 id=83 or 1
/*
根据$sql拼接的结果
$sql = 'delete from stu where id=83 or 1'

1恒为真,因为所有的行,都满足条件,都被删除了.
这是一个非常简单的sql注入的例子.

怎么避免?

答:大原则,永远不要相信从客户处传来的数据

//如果是合法的id,应该是整行值才对,不应该是字符串
$id=isset($_GET['id'])?$_GET['id']+0:0;
//字符串+0,变成整型了,就不会再有注入的功能了.

详例:

 

weinxin
我的微信
把最实用的经验,分享给最需要的读者,希望每一位来访的朋友都能有所收获!
avatar

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: