請問大家在java企業應用中功能url偽造如何防範的?

openeyes發表於2011-03-02
比如在一個圖書管理的應用中,我們原來只用了一個Filter來檢視該使用者是否登入,登入的話顯示主介面,點選選單做相應的功能。
那麼有個普通使用者只有圖書查詢的功能,但是如果他知道使用者管理的url,就能在瀏覽器裡直接輸入url進入使用者管理從而取得管理員許可權。
為了彌補這個漏洞,我們又加了一個Filter,透過正規表示式驗證該使用者是否有許可權執行該url,有繼續,否則提示沒有許可權。對於那些頁面上的按鈕也這樣處理。
由於管理員配置的是功能許可權,往往一個功能會對應多個url(例如“新增圖書”這個功能會對應進入圖書資訊輸入頁面的url和儲存輸好的圖書資訊的url),用Filter過濾由於要用servlet中的url匹配系統中配置好的多個正規表示式,效果比較差。
另外,對於頁面上有些不需要許可權的按鈕處理起來也比較麻煩,因為需要對這個按鈕對應的url需要配置一個正規表示式,只要匹配這個表示式可以無條件執行。
暫時只能想到這種方法來應對,感覺相當複雜,不知道有沒有更好的方法,有大俠願意討論一下麼?

[該貼被openeyes於2011-03-02 16:05修改過]

相關文章