預編譯防止sql注入

PreparedStatement爲何能在必定程度上防止SQL注入? PreparedStatement會對SQL進行了預編譯,在第一次執行SQL前數據庫會進行分析、編譯和優化,同時執行計劃一樣會被緩存起來,它容許數據庫作參數化查詢。在使用參數化查詢的狀況下,數據庫不會將參數的內容視爲SQL執行的一部分,而是做爲一個字段的屬性值來處理,這樣就算參數中包含破環性語句(or ‘1=1’)也不會被執行。
相關文章
相關標籤/搜索