UrlRewrite 關於位址重寫來增加安全性

2021-07-24 22:57:34 字數 1946 閱讀 5042

urlrewrite 關於位址重寫來增加安全性

一、urlrewrite的基本環境搭建

首先匯入

urlrewrite-3.2.0.jar包,然後在web.xml裡面宣告filter

urlrewritefilter

org.tuckey.web.filters.urlrewrite.urlrewritefilter

/*request

forward

然後在專案的

web-inf目錄下新建乙個urlrewrite.xml檔案,如下:

<?xml version="1.0" encoding="utf-8"?>

//這裡配置位址重寫的規則

示例:

1、使用正規表示式匹配(rule 的預設匹配方式是正規表示式)

^/demo1/(\w+)/(\w+).html$

/struts/$1.action?age=$2

解析:rule 是urlrewrite下的子節點,是urlrewrite的主要規則節點,在它裡面包含from 和to兩個子節點,from表示請求的url,to表示將轉到的真實的url。

2、使用萬用字元匹配

**模式:forward方式跳轉

/demo2/*/*

/struts/$1.action?age=$2

重定向模式:redirect方式跳轉

/demo2/*/*

/struts/$1.action?age=$2

除了支援指定規則的跳轉外,urlrewrite還支援當匹配規則的時候執行某個物件的某個函式

示例:

^/demo3/(\w+)/(\w+).html$

//匹配規則後,指定的函式只在第一次匹配成功的時候執行

//每次匹配規則後,指定的函式都會執行一次

/struts/$1.action?age=$2

如上述設定,要實現匹配規則是執行某個函式,需要新增多乙個run節點,在節點上面新增對應的類屬性和方法屬性。同時,對應的類必須繼承rewriterule類,執行的方法必須傳入兩個引數,分別是httpservletrequest 和httpservletresponse

//記得要繼承rewriterule類
public class demo extends rewriterule

}

這樣,當客戶端輸入的**第一次匹配到指定規則的時候,urlrewrite就會執行對應的函式,該函式只在第一次匹配成功的時候執行。

除了對請求的url進行處理外,urlrewrite還提供了對返回頁面中的位址進行重寫的功能。使用rule是對使用者輸入的url進行處理,但是開發過程中,經常需要在頁面中也新增一些**請求,urlrewrite可以通過規則,對頁面中的**也進行重寫。如:

/(\w+).action\?id=(\w+)$

/$1.html

在urlrewrite中新增該規則後,我們在頁面中原本的位址是:

id=111' />"> 測試
可是在頁面中顯示卻成了如下:

測試
這樣可以隱藏了許多開發中的技術,較為安全。

URLRewrite實現URL位址偽靜態化

1使用urlrewrite實現url位址偽靜態化1.1urlrewirte的用處 1.滿足搜尋引擎的要求。2.隱藏技術實現,提高 的移植性。3.滿足美感的要求 個人感覺這個用處太牽強 1.2專案部署 3.把urlrewrite.xml複製到專案的webroot web inf 目錄下 4.在web....

關 於 地 址 轉 換

在計算機作業系統中,位址轉換是儲存管理的乙個主要功能。所謂位址轉換就是將使用者的邏輯位址轉換成記憶體的實體地址,完成位址重定位。需要指出的是,位址轉換是作業系統的位址變換機構自行完成的,無需使用者干預,這樣我們使用作業系統時,才方便而可靠。在這一章裡,介紹的儲存管理有分割槽管理 包括固定分割槽和可變...

關於URL位址

今天上課內容比較含蓄,所以我聽得也是比較含蓄 不過剛上課的時候,珊哥的話,讓我有一番領悟。珊哥三番兩次提到了方法,今天腦袋昏昏沉沉的我卻瞬間懂得了 方法 的奧妙 其實這麼一想來發現,xcode裡面給我們提供了很多很多的方法,這就是為什麼他經常讓我們熟悉熟悉 方法 的原因了。我確實應該多多去熟悉方法。...