jsp -javabean 通用防止页面注入代码

jsp -javabean 通用防止页面注入代码

sql_inj.java为一个改进的防注入bean,编译后将class文件放在tomcat的classes下的sql_inj目录中。

sql_inj.java代码:
 

	
  • package sql_inj;  
  •  
  • import java.net.*;   
  • import java.io.*;  
  • import java.sql.*;  
  • import java.text.*;  
  • import java.lang.String;  
  •  
  • public class sql_inj{   
  • public static boolean sql_inj(String str)  
  • {  
  •     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++ )  
  •     {  
  •         if (str.indexOf(inj_stra[i])>=0)  
  •         {  
  •             return true;  
  •         }  
  •     }  
  •     return false;  
  • }  
  • }  
  •  
  • JSP页面判断代码:

    	
  • <jsp:useBean id="sql_inj" class="sql_inj.sql_inj" scope="page"/>  
  • <%  
  • String   currenturl   =   request.getRequestURI()+(request.getQueryString()==null?"":("?"+request.getQueryString()));  
  • if (sql_inj.sql_inj(currenturl)){          //判断url及参数中是否包含注入代码,是的话就跳转到某页。  
  • response.sendRedirect("/");  
  • return;  
  • }  
  • //out.println(currenturl);  
  • %>  
  • jsp -javabean 通用防止页面注入代码》有1条留言

    留下回复