oracle防止sql注入的方法:
oracle中的DBMS_ASSERT包中包含了相關的函數,將傳入的參數進行檢查,若不符合相關規則,那sql語句執行會報錯,從而達到防止sql注入的風險,例如:
1.ENQUOTE_LITERAL:
輸入字符串,并且在前后加上單引號;從而避免字符串中有多個單引號的問題,示例:
select dbms_assert.ENQUOTE_LITERAL('test '||chr(58)||test)
from dual;
2.ENQUOTE_NAME:前后加上單引號并且將字符串變為大寫。
3.QUALIFIED_SQL_NAME:用來驗證函數、表、過程等有效性。
4.SIMPLE_SQL_NAME:與QUALIFIED_SQL_NAME功能相同。
5.SQL_OBJECT_NAME:驗證字符串是否為有效的對象名。