前言
面对部分必须使用${}
来输入参数的情况,需要手动进行拦截而不能使用预编译的手段。
主要需要拦截的为String
格式的字符串。
参考这篇博文:防止SQL注入的五种方法
(原文的方法似乎写的有错误,我重新整理了一下,并且添加了大小写匹配。)
我整理了一个方案:
字符串过滤方案
比较通用的一个方法:
这个函数返回值为真时表示出现敏感字符
(||之间的参数可以根据自己程序的需要添加或删除,下文只是举例)
public static boolean sql_inj(String str){
//常见可能导致误判的字符组
String inj_str