src/com/util/StringFilter.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.util;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class StringFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;
 public void destroy() {
  // TODO Auto-generated method stub
  
 }

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain arg2) throws IOException, ServletException {
 //非法字符过滤
  HttpServletRequest servletrequest=(HttpServletRequest)request;
  HttpServletResponse servletresponse = (HttpServletResponse)response;
  boolean status = false;
  java.util.Enumeration params = request.getParameterNames();
  String param="";
  String paramValue="";
  servletresponse.setContentType("text/html");
  servletresponse.setCharacterEncoding("utf-8");
  while(params.hasMoreElements()){
	  param = (String)params.nextElement();
	  String[] values = request.getParameterValues(param);
	  paramValue="";
	  if(OK){
		  for(int i=0;i<values.length;i++){
			  paramValue = paramValue+values[i];
			  for(int j=0;j<characterParams.length;j++){
				  if(paramValue.indexOf(characterParams[j])>=0){
					  status = true;
					  break;
				  }
				  if(status){
					  break;
				  }
			  }
			  if(status){
				  PrintWriter out = servletresponse.getWriter();
				  out.print("<script language='javascript'>alert(\"您提交的内容有非法字眼\"):location.href('"+servletrequest.getRequestURI()+"'):</script>");
			  }else{
				  arg2.doFilter(request, response);
			  }
		  }
	  }
后面还有 13 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。