| | |
| | | import javax.servlet.http.HttpServletRequest;
|
| | | import javax.servlet.http.HttpServletResponse;
|
| | |
|
| | | import org.omg.CORBA.Request;
|
| | |
|
| | | import com.fgkj.actions.ActionUtil;
|
| | | import com.fgkj.dto.ServiceModel;
|
| | |
|
| | |
| | |
|
| | | public final static String CROSS_DOMAIN_KEY = "44c4a294cb66d13727c14b065dbe8548"; //跨域请求 key
|
| | |
|
| | | public void doFilter(ServletRequest req, ServletResponse response,
|
| | | public void doFilter(ServletRequest req, ServletResponse resp,
|
| | | FilterChain chain) throws IOException, ServletException {
|
| | | HttpServletRequest request=(HttpServletRequest)req;
|
| | | HttpServletResponse response =(HttpServletResponse)resp;
|
| | | String URL=request.getRequestURI();
|
| | | request.setCharacterEncoding("UTF-8");
|
| | | response.setCharacterEncoding("UTF-8");
|
| | | response.setContentType("text/html;charset=utf-8");
|
| | | //检测跨域访问的请求
|
| | | if(URL != null && URL.endsWith("_ky") && false){
|
| | | String key = req.getParameter("key"); //获取校验码
|
| | | ServiceModel model = new ServiceModel(); //是否允许访问
|
| | | boolean isAlowVisit = false; |
| | | System.out.println(key+"=="+CROSS_DOMAIN_KEY);
|
| | | ServiceModel model = new ServiceModel(); |
| | | boolean isAlowVisit = false; //是否允许访问
|
| | | //System.out.println(key+"=="+CROSS_DOMAIN_KEY);
|
| | | if(key != null && CROSS_DOMAIN_KEY.equals(key)){
|
| | | isAlowCrossDomain(response);
|
| | | //System.out.println("开始休眠500毫秒秒");
|
| | | try {
|
| | | Thread.sleep(500);
|
| | |
| | |
|
| | | isAlowVisit = true;
|
| | | }else{
|
| | | model.setMsg("校验码发送失败");
|
| | | model.setMsg("校验码发送失败,key:"+key);
|
| | | }
|
| | | if(isAlowVisit){
|
| | | //通过请求
|
| | | chain.doFilter(request, response); //不允许跨域
|
| | | chain.doFilter(request, response); //允许跨域
|
| | | }else{
|
| | | //不能放行的请求
|
| | | PrintWriter out = response.getWriter();
|
| | |
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 允许跨域访问
|
| | | * @param response
|
| | | */
|
| | | public void isAlowCrossDomain(HttpServletResponse response){
|
| | | response.setHeader("Access-Control-Allow-Origin", "*"); //允许跨域访问
|
| | | response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token");
|
| | | response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
|
| | | }
|
| | | |
| | | public static void main(String[] args) {
|
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
| | | System.out.println(sdf.format(new Date()));
|