Java中如何去掉字符串中的⾮法字符(预防SQL注⼊) 1/**
2    * 防⽌SQL注⼊,校验字符串参数是否合法
java中split的用法3    * @param s
4    * @return
5*/
6public static boolean isValid(String s)
7    {
8if (s.isEmpty()|| s.length() > 10000)
9        {
10return false;
11        }
12        s = s.toLowerCase();
13        String cs = "'|and|\"|exec|insert|select|delete|update|count|*|%|=|chr|mid|master|truncate|char|declare|; |or|-|+|,";
14        String[] csArray =    cs.split("\\|");
15//循环校验是否含有⾮法字符串
16for(int i=0;i<csArray.length;i++){
17if(s.indexOf(csArray[i])!=-1){
18return false;
19            }
20        }
21return true;
22    }
这⾥⾯有⼀个问题需要注意⼀下:
String[] csArray =    cs.split("\\|");为什么这⾥需要使⽤\\,原因是split()中的参数是正则表达式,因为\和|都是正则的元字符需要进⾏转义,\\代表\,所以\|需要改写为\\|

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。