我是数据库领域的初学者,我即将理解,查询的自由文本输入如何用于通过SQL注入来破坏数据库。
实际上,the relevant xckd完美地总结了它:
这个漫画暗示如果我不允许用户形成包含SQL命令的任何类型的输入(如DROP
,UPDATE
,INSERT INTO
等),那么“非法的“SQL查询无法完成。
我有什么想念吗?或者我是对的?
答案 0 :(得分:2)
您不必禁止输入中的所有SQL命令,您只需要确保它们只被视为自由文本,这样它们就不会被意外地作为命令执行。
这可能是一个很好的起点: