Java 之防止 SQL 注入

遇到 SQL 直接注入的情况,所以查询了一下解决的办法,在此贴一下代码~~


package com.java.util;

public class filterSQLInjection {

	public final static String sqlInjection(String s) {
	    if (s == null || "".equals(s)) {
	        return "";
	    }
	    try {
	        s = s.trim().replaceAll("</?[s,S][c,C][r,R][i,I][p,P][t,T]>?", "");//script
	        s = s.trim().replaceAll("[a,A][l,L][e,E][r,R][t,T]\\(", "").replace("\"", "");// alert
	        s = s.trim().replace("\\.swf", "").replaceAll("\\.htc", "");
	        s = s.trim().replace("\\.php\\b", "").replaceAll("\\.asp\\b", "");
	        s = s.trim().replace("document\\.", "").replaceAll("[e,E][v,V][a,A][l,L]\\(", "");
	        s = s.trim().replaceAll("'", "").replaceAll(">", "");
	        s = s.trim().replaceAll("<", "").replaceAll("=", "");
	        s = s.trim().replaceAll(" [o,O][r,R]", "");
	        s = s.trim().replaceAll("etc/", "").replaceAll("cat ", "");
	        s = s.trim().replaceAll("/passwd ", "");
	        s = s.trim().replaceAll("sleep\\(", "").replaceAll("limit ", "").replaceAll("LIMIT ", "");
	        s = s.trim().replaceAll("[d,D][e,E][l,L][e,E][t,T][e,E] ", "");// delete
	        s = s.trim().replaceAll("[s,S][e,E][l,L][e,E][c,C][t,T] ", "");// select;
	        s = s.trim().replaceAll("[u,U][p,P][d,D][a,A][t,T][e,E] ", "");// update
	        s = s.trim().replaceAll("[d,D][e,E][l,L][a,A][y,Y] ", "").replaceAll("waitfor ", "");
	        s = s.trim().replaceAll("print\\(", "").replaceAll("md5\\(", "");
	        s = s.trim().replaceAll("cookie\\(", "").replaceAll("send\\(", "");
	        s = s.trim().replaceAll("response\\.", "").replaceAll("write\\(", "")
	                .replaceAll("&", "");
	    } catch (Exception e) {
	        e.printStackTrace();
	        return "";
	    }
	    return s;
	} 
}

到此结束啦~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值