白叔JSP对表单进行防注入过滤的方法

本文介绍了一种通过检查用户输入来防止SQL注入攻击的方法。该方法使用特定的字符串数组进行匹配,确保用户输入不含恶意SQL代码。此外,还讨论了如何正确地在Java中使用特殊字符进行字符串分割。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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’ # 看是否有结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值