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:验证字符串是否为有效的对象名。