阻止查询命令是否足以阻止SQL注入?

时间:2016-04-15 13:32:52

标签: sql sql-injection rdbms

我是数据库领域的初学者,我即将理解,查询的自由文本输入如何用于通过SQL注入来破坏数据库。

实际上,the relevant xckd完美地总结了它:

enter image description here

这个漫画暗示如果我不允许用户形成包含SQL命令的任何类型的输入(如DROPUPDATEINSERT INTO等),那么“非法的“SQL查询无法完成。

我有什么想念吗?或者我是对的?

1 个答案:

答案 0 :(得分:2)

您不必禁止输入中的所有SQL命令,您只需要确保它们只被视为自由文本,这样它们就不会被意外地作为命令执行。

这可能是一个很好的起点:

https://en.wikipedia.org/wiki/SQL_injection