預編譯能防止SQL注入是因為在運行程序第一次操作數據庫之前,SQL語句已經被數據庫分析、編譯和優化,而且對應的執行計劃也會將sql緩存下來,并允許數據庫以參數化的形式進行查詢,當運行時會動態地把參數傳給PreprareStatement,即使參數里有敏感字符,如:“or '1=1'”,也會被數據庫作為一個參數或者一個字段的屬性值來處理,而不是作為一個SQL指令來運行。
億速云公眾號
手機網站二維碼
Copyright ? Yisu Cloud Ltd. All Rights Reserved. 2018 版權所有
廣州億速云計算有限公司粵ICP備17096448號-1 粵公網安備 44010402001142號增值電信業務經營許可證編號:B1-20181529