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