当然,SQL注入是Web应用程序最严重的安全问题,但我认为,许多博客和教程都夸大了不切实际的例子(或者说我错了)。常见的例子是输入
的值; DELETE FROM ...
这仅仅是基于SQL基础知识的理论。例如,在使用PHP
的现实世界中,mysql_query()
或mysqli->query()
将仅执行第一个SQL查询。在;
之后添加任何内容都会导致语法错误。
是否可以通过SQL注入对SELECT
中的PHP
查询进行WRITE操作?
更新:我的观点是澄清是否可以在PHP中进行第二次查询。没有讨论防止SQL注入的必要性或如何做到这一点。最终的解决方案显然是准备好的陈述。
答案 0 :(得分:1)
Ali,SQL Injection是一个常见的概念,不仅仅局限于PHP,虽然它不是一个硬性规则,这些行为可以执行,但是它可以为黑客提供一个后门入口来进行db模式洞察,无论如何都是危险的,不仅是改变,而且任何人都可以看到任何信息都是危险的。
答案 1 :(得分:1)
我的观点是澄清是否可以在PHP中进行第二次查询。
在某些情况下 - 是的。
但这并不重要,因为注射不仅限于添加第二个查询。
是不是夸大了SQL注入?
并且答案绝对没有。
因为
是否可以通过SQL注入在PHP中的SELECT查询中进行WRITE操作?
无论是否可能 - SELECT查询都不会比INSERT / UPDATE更具灾难性