fiter过滤器控制统一编码和防止非法url进入
2010-09-02 15:41
218 查看
1. package com.tongtech.bjvsp.sysmng.filter; 2. 3. import java.io.IOException; 4. import java.io.PrintWriter; 5. 6. import javax.servlet.Filter; 7. import javax.servlet.FilterChain; 8. import javax.servlet.FilterConfig; 9. import javax.servlet.ServletException; 10. import javax.servlet.ServletRequest; 11. import javax.servlet.ServletResponse; 12. import javax.servlet.http.HttpServlet; 13. import javax.servlet.http.HttpServletRequest; 14. import javax.servlet.http.HttpServletResponse; 15. 16. import com.tongtech.bjvsp.sysmng.constant.ConstantServlet; 17. 18. public class EncodingFilter extends HttpServlet implements Filter { 19. private FilterConfig filterConfig; 20. 21. // Handle the passed-in FilterConfig 22. public void init(FilterConfig filterConfig) throws ServletException { 23. this.filterConfig = filterConfig; 24. } 25. 26. // Process the request/response pair 27. public void doFilter(ServletRequest request, ServletResponse response, 28. FilterChain filterChain) { 29. try { 30. 31. HttpServletRequest httpRequest = (HttpServletRequest) request; 32. HttpServletResponse httpResponse = (HttpServletResponse) response; 33. boolean isValid = true; 34. String uriStr = httpRequest.getRequestURI(); 35. if (uriStr.indexOf(".jsp") == -1 && uriStr.indexOf(".do") == -1) { 36. isValid = true; 37. } else if (uriStr.indexOf("login.jsp") == -1 && uriStr.indexOf("login.do") == -1 38. && httpRequest.getSession().getAttribute("UserWraper") == null) { 39. isValid = false; 40. } 41. 42. if (isValid) { 43. request.setCharacterEncoding("GBK"); 44. filterChain.doFilter(request, response); 45. } 46. 47. else { 48. request.setCharacterEncoding("GBK"); 49. PrintWriter out = httpResponse.getWriter(); 50. if( uriStr.indexOf("index.jsp") == -1 ) { 51. out.write("<mce:script type="text/javascript"><!-- window.parent.parent.location.href='../../login.jsp' // --></mce:script>"); 52. } else { 53. out.write("<mce:script type="text/javascript"><!-- window.parent.parent.location.href='../login.jsp' // --></mce:script>"); 54. } 55. 56. } 57. 58. } catch (ServletException sx) { 59. filterConfig.getServletContext().log(sx.getMessage()); 60. } catch (IOException iox) { 61. filterConfig.getServletContext().log(iox.getMessage()); 62. } 63. } 64. 65. // Clean up resources 66. public void destroy() { 67. } 68. }
相关文章推荐
- 防止用户直接访问url的权限控制(使用过滤器)
- 防止用户直接访问url的权限控制
- 为了防止乱码,可以通过过滤器将整个应用编码统一
- JAVA项目统一使用UTF-8编码设置防止乱码
- 防止直接输入URL进入系统的办法
- 过滤器 防止直接在浏览器输入url进入页面
- 防止出现乱码,J2EE项目统一使用UTF-8编码设置方法
- Linux系统防止别人非法进入单用户模式
- html url 编码 Url Encode 和 Url Decode 防止sql注入URL
- 关于thinkphp框架的防止非法进入+frame框架强制主页面退出
- url完整编码,防止冒号被编码
- 防止出现乱码,J2EE项目统一使用UTF-8编码设置方法(转)
- wap项目:统一url 方便计费,采用转向,方便对字符进行编码
- 防止用户直接访问url的权限控制
- 防止出现乱码,J2EE项目统一使用UTF-8编码设置方法
- 在asp.net中对url地址统一编码的示例
- 防止直接输入URL访问页面,但是不能防止从其他的地方连接过来
- 地磅称量系统之(37~39) 直接向数据库的数据表WtBill添加测试数据以及绑定用户控件和使用编码的方式控制dataGridView控件的每列属性和添加数据数据库的表中不存在的字段(非绑定列)
- URL安全的字符串base64编码和解码
- C# 属性 控制非法输入