String myluqu=new String(request.getParameter("textfield").getBytes("iso8859_1"),"utf-8");
//////////////////////////////////////
String inj_str = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,|=";
String inj_stra[] = inj_str.split("\\|");
for (int i=0;i<inj_stra.length;i++)
{
//out.print(inj_stra[i]);
//out.print(myluqu.indexOf(inj_stra[i]));
if (myluqu.indexOf(inj_stra[i])!=-1)
{
out.print("请不要输入非法字符");
return;
}
}
//////////////////////////////////////
在网上代码的基础上做了改良,没写javabean,直接用
如果嵌入jsp代码里写,最大的区别是
String inj_stra[] = inj_str.split("\\|");
查了资料
以"." 、""、“|”分割字符串,直接用"." 、""、“|”无法分割,因为"." 、""、“|”是特殊字符,需要转义,"\." 、"\"、“\|”。
测试的办法 文本框输入 qqq’ or ‘h’=‘h’ # 看是否有结果