我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          簡單的防盜鏈過濾器

          簡單的防盜鏈過濾器代碼,保護cwb目錄和dir2目錄下的zip文件不被盜鏈。
          一、web.xml文件
          <?xml version="1.0" encoding="ISO-8859-1"?>
          <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation
          ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version
          ="2.4">

          <display-name>Welcome to Tomcat</display-name>
          <description>
            Welcome to Tomcat
          </description>
          <filter>
            
          <filter-name>SecurityFilter</filter-name>
            
          <filter-class>example.SecurityFilter</filter-class>
          </filter>

          <filter-mapping>
            
          <filter-name>SecurityFilter</filter-name>
            
          <url-pattern>/dir2/*</url-pattern>
          </filter-mapping> 
          <filter-mapping>
            
          <filter-name>SecurityFilter</filter-name>
            
          <url-pattern>/cwb/*</url-pattern>
          </filter-mapping> 

          <servlet> 
            
          <servlet-name>log4j-init</servlet-name> 
            
          <servlet-class>example.Log4jInit</servlet-class> 
            
          <init-param> 
              
          <param-name>log4j</param-name> 
              
          <param-value>WEB-INF/log4j.properties</param-value> 
            
          </init-param> 
          <load-on-startup>1</load-on-startup> 
          </servlet> 

          </web-app>


          二、過濾器代碼
          package example;

          import javax.servlet.Filter;
          import javax.servlet.FilterConfig;
          import javax.servlet.ServletRequest;
          import javax.servlet.ServletResponse;
          import javax.servlet.FilterChain;
          import javax.servlet.ServletException;
          import javax.servlet.http.*;
          import java.io.IOException;
          import java.util.Iterator;
          import java.util.Set;
          import java.util.HashSet;
          import org.apache.log4j.*;


          public class SecurityFilter implements Filter {
              
              
          private static final String JAVA3Z_URL = "http://www.java3z.com/cwbwebhome/index.html";
                  
          private static final String K_URL="http://www.xxx.com/index.html";
              
              
                
          private Logger logger = Logger.getLogger("this.SecurityFilter");
              
              
              
              
          /**
               * Initializes the Filter.
               
          */

              
          public void init(FilterConfig filterConfig) throws ServletException {
                  
                  
              }

              
              
          /**
               * Standard doFilter object.
               
          */

              
          public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                      
          throws IOException, ServletException {
                
          //logger.info("doFilter");
                   HttpServletRequest req1=(HttpServletRequest)req;
                   HttpServletResponse res1
          =(HttpServletResponse)res;
                String contextPath 
          = req1.getContextPath();    
                String requestUri 
          = req1.getRequestURI();
                
          //logger.info("requestUri = " + requestUri);

                   String referer
          =req1.getHeader("Referer");
                   
                   
          if(referer!=null&&referer.indexOf("www.java3z.com"< 0&&referer.indexOf("www.xxx.com"< 0){
                      
                  
          if(requestUri.indexOf("cwb")!=-1){
                           res1.sendRedirect(JAVA3Z_URL);
                        }
          else{
                            res1.sendRedirect(K_URL);
                        }

                   }
          else{
                             chain.doFilter(req, res);
                  }

              }

              
              
          public void destroy() {} 
              
              }




          posted on 2008-02-17 22:14 々上善若水々 閱讀(2080) 評論(0)  編輯  收藏 所屬分類: JavaWeb

          主站蜘蛛池模板: 台州市| 元阳县| 贵南县| 濮阳县| 舞钢市| 遵化市| 巨野县| 吕梁市| 临湘市| 娄底市| 共和县| 读书| 巴彦县| 青冈县| 南靖县| 惠水县| 溆浦县| 珠海市| 长顺县| 罗江县| 恩施市| 友谊县| 固镇县| 苏尼特右旗| 巨野县| 怀化市| 武川县| 达尔| 贡嘎县| 石城县| 锦屏县| 宜阳县| 门头沟区| 理塘县| 交口县| 临海市| 桃江县| 康乐县| 海淀区| 崇明县| 揭西县|