1
我是数据库领域的初学者,我正要理解,查询的自由文本输入可能会如何通过SQL注入来破坏数据库。是否阻止查询命令足以防止SQL注入?
其实,the relevant xckd概括起来完美:
这一定漫画意味着,如果我不允许用户形成任何类型的输入包含SQL命令(如DROP
,UPDATE
,INSERT INTO
等),那么“非法”SQL查询就无法完成。
有什么我想念的吗?或者我是对的?
我是数据库领域的初学者,我正要理解,查询的自由文本输入可能会如何通过SQL注入来破坏数据库。是否阻止查询命令足以防止SQL注入?
其实,the relevant xckd概括起来完美:
这一定漫画意味着,如果我不允许用户形成任何类型的输入包含SQL命令(如DROP
,UPDATE
,INSERT INTO
等),那么“非法”SQL查询就无法完成。
有什么我想念的吗?或者我是对的?
您不必禁止输入中的所有SQL命令,只需确保它们仅被视为自由文本,以便它们不会被意外执行为命令。
这可能是一个良好的开端:
不,带是不是从用户的输入删除SQL命令。这是关于[正确做事](http://stackoverflow.com/a/5468460/11683)。 – GSerg