首页 / PHP / php – 如何破坏这种SQL注入保护
php – 如何破坏这种SQL注入保护
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何破坏这种SQL注入保护,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1093字,纯文字阅读大概需要2分钟。
内容图文
![php – 如何破坏这种SQL注入保护](/upload/InfoBanner/zyjiaocheng/892/95cc2e026a5a4a4d986073d7d95013b6.jpg)
这个问题不是关于为防止注射的已证实的功能创建一个实际的替代方案,而是关于如何与那些没有看到他们的自制注射防止代码中的缺陷的人争论!
我试图向同事说明一点,但似乎他对SQL注入的“解决方案”对我来说似乎相当安全.
他通过这样做清除查询
$query = $_POST['username'];
$look = array('&', '#', '<', '>', '"', '\'', '(', ')', '%');
$safe = array('&', '#', '<', '>', '"', ''', '(', ')', '%');
str_replace($look, $safe, $query);
然后继续登录
"SELECT * FROM users WHERE username = '" . $query . "'
AND password = '" . md5($_POST['password']) . "'";
我试图让他使用PDO或等价物,但你怎么能真正违反这种保护?我没有答案,这真的让我烦恼,因为我不能解释他这是不安全的,为什么不应该这样做.
解决方法:
这实际上是一种“逃避”的可怕方式,存在很多陷阱,其中只有少数存在
>此代码实际上是在假设唯一的输出介质是HTML的情况下更改数据.根据我15年的经验,我会说这不是真的.改变你的数据总是一件坏事,它将导致后期的不一致和很多痛苦.其中一个立刻就是这样的“格式化”将在每次编辑时成倍增加,使得& ampampamp不仅仅是引用.
>通过数字注射.
>通过标识符进行注射.
>二阶注射.
…以及更多.
本网站的严格规定阻止我在命名这样的“保护”时使用正确的词语,但可以自己想象它们.
内容总结
以上是互联网集市为您收集整理的php – 如何破坏这种SQL注入保护全部内容,希望文章能够帮你解决php – 如何破坏这种SQL注入保护所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。