urlrewrite-------解決大型WEB系統URL暴露安全問題
未經過改寫的的可以洩漏工程檔案的目錄,為了保證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
-->
<!-- 正向 -->
Login
^/mylogin[/]?$
/login.do
<!-- 逆向 -->
<!-- Copy of invoice order -->
Login
/login.do
/mylogin/
6.執行結果
輸入使用者名稱和密碼之後,你會發現的地址變成了
------>>轉載於:
1.首先去下載頻道urlrewrite-2.6.0.jar這個檔案,然後將其放在工程目錄的WEB-INFO/LIB下。
2.配置web.
[java] view plaincopyprint?
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
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
-->
<!-- 正向 -->
Login
<!-- 逆向 -->
<!-- Copy of invoice order -->
6.執行結果
輸入使用者名稱和密碼之後,你會發現的地址變成了
------>>轉載於:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1181742/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決 requests 庫 URL 編碼問題
- js解決url中文亂碼問題JS
- 解決Url帶中文引數亂碼問題
- iOS Abort問題系統性解決方案iOS
- 支招 | 如何解決身份驗證系統安全問題
- URL地址中的中文亂碼問題的解決
- Flutter Web 跨域問題解決方案FlutterWeb跨域
- 檔案系統變成RAW問題解決
- Flutter 解決系統BottomNavigationBar的水波紋問題FlutterNavigation
- 新手linux系統常見問題解決方案Linux
- vue-解決background-image:url不顯示問題Vue
- web安全機制問題詳解之二:CSRFWeb
- web安全機制問題詳解之一:XSSWeb
- PLM系統到底解決了哪些問題?詳細解析
- CRM系統能幫助企業解決哪些問題?
- 五大CRM系統流程解決企業問題
- Mac OSX系統homebrew update Fetching failed問題解決方案MacAI
- ERP系統可以幫助企業解決哪些問題
- 短影片系統開發疑難問題解決方案
- Windows系統解決PhPStudy MySQL啟動失敗問題WindowsPHPMySql
- 如何解決遠端協同辦公系統的安全問題
- 解決軟體供應鏈安全問題
- CRM系統幫助企業解決管理上難解決的問題(下)
- CRM系統能幫外貿行業解決哪些問題行業
- CRM系統三步解決企業銷售問題
- 架構師必備:系統性解決冪等問題架構
- Web 學習之跨域問題及解決方案Web跨域
- Python執行緒安全問題及解決方法Python執行緒
- 安全日報改版、解決“告警風暴”問題
- web 跨域請求安全問題Web跨域
- 解決軟體供應鏈安全問題需要關注哪些問題
- URL重寫(rewrite)的具體實現與異常問題解決
- python requests 怎麼解決 url 中../ 自動跳目錄的問題?Python
- Win10系統使用瀏覽器提示網站證書存在安全問題怎麼解決Win10瀏覽器網站
- 技術實踐 | AI 安全:透過大模型解決高危WEB應用識別問題AI大模型Web
- 【一文詳解】內外網檔案擺渡系統,解決網間資料安全傳輸問題
- 解決WPF+Avalonia在openKylin系統下預設字型問題
- 智慧經營系統怎麼樣?解決了什麼問題?
- 解決“華為雲伺服器Ubuntu系統升級”問題伺服器Ubuntu