urlrewrite-------解決大型WEB系統URL暴露安全問題

dawn009發表於2014-06-12
未經過改寫的可以洩漏工程檔案的目錄,為了保證WEB系統的安全,免遭的攻擊,我們通常要對URL進行重寫,目的就是使訪問者看不到真實的路徑,從而可以減少駭客攻擊的可能性,下面給出一個簡單的登陸例子,將改寫為

1.首先去下載頻道urlrewrite-2.6.0.jar這個檔案,然後將其放在工程目錄的WEB-INFO/LIB下。 

2.配置web. 



[java] view plaincopyprint? 
  
 xmlns="/xml/ns/javaee" xmlns:xsi="" version="2.5" xsi:schemaLocation="com/xml/ns/javaee   com/xml/ns/javaee/web-app_2_5.xsd">  
    
    action  
    org..struts.action.ActionServlet  
      
      config  
      /WEB-INF/struts-config.xml  
      
      
      debug  
      3  
      
      
      detail  
      3  
      
    0  
    
  >  
    action  
    *.do  
    
    
        UrlRewriteFilter  
          
            org.tuckey.web.filters.urlrewrite.UrlRewriteFilter  
          
          
            logLevel  
            WARN  
          
      
      
        UrlRewriteFilter  
        /*  
        REQUEST  
        FORWARD  
      
    
    login.jsp  
    
  

3.編寫頁面login.jsp.success.jsp以及failure.jsp 
[c-sharp] view plaincopyprint? 
login.jsp 
 
 

String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
 
   
   
 

   
 

    使用者名稱: 
    密     碼: 
     
       
     
   
 
success.jsp 
 
 
   
    success! 
   
 
failure.jsp 
 
 
   
    failure! 
   
 

4.編寫action處理類及其配置struts-config.properties 

LoginAction.java 
package com.zxc.struts.action; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.apache.struts.action.Action; 
import org.apache.struts.action.ActionForm; 
import org.apache.struts.action.ActionForward; 
import org.apache.struts.action.ActionMapping; 
public class LoginAction extends Action { 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
HttpServletRequest request, HttpServletResponse response) { 
// TODO Auto-generated method stub 
String username=request.getParameter("username")==null?"":request.getParameter("username"); 
String password=request.getParameter("password")==null?"":request.getParameter("password"); 
if(username.equals("java")&&password.equals("java")) 
return mapping.findForward("success"); 
else 
return mapping.findForward("failure"); 


struts-config.properties 
 
 
 
   
   
   
   
   
      path="/login" 
      type="com.zxc.struts.action.LoginAction" 
      cancellable="true" > 
       
       
     
 

   
   
 

5.配置urlrewrite.xml檔案,注意將其放到與web.xml同級目錄中,並且配置的時候正向和逆向都得配置 

 
nbsp;
        ""> 
<!-- 
Configuration file for UrlRewriteFilter
--&gt 
 
<!-- 正向 --&gt 
 
 
Login 
         
^/mylogin[/]?$ 
/login.do 
 
<!-- 逆向 --&gt 
<!-- Copy of invoice order --&gt 
 
Login 
/login.do 
/mylogin/ 
 
 

6.執行結果 

輸入使用者名稱和密碼之後,你會發現的地址變成了

------&gt>轉載於:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1181742/,如需轉載,請註明出處,否則將追究法律責任。

相關文章