使用者越權訪問的處理
一般來說,越權放問就好比你是非系統管理員使用者,卻偷偷的跑進了系統管理選單,僭越權利訪問裡面的資訊甚至修改其中的資料(不同級別的越權又稱垂直越權訪問),因此對資料的安全性造成極大的威脅,是故每家企業都有其方法來保證企業內部資料的安全性,也就是解決越權訪問的問題。
有關改業務處理主要考慮下面兩個方面:
url的越權訪問和介面方法的越權訪問
通過角色使用者來判斷是否越權訪問
分下面幾種情況來討論:
a.當沒有使用者登入的時候:
只允許登入介面和一些js,css等非jsp/html的頁面訪問,這樣算是越權
b.當使用者登入了之後:
首先通過角色關係去資料庫中查詢他能夠訪問的頁面,這樣的話就可以針對能訪問的做乙個放行處理,非許可權內的頁面屬於越權,這個時候攔截掉,可以直接讓其跳轉到登陸介面表示他越權了已經(自行處理越權後的操作)。
2.具體實現流程
a.統計好每個選單url對應的介面方法和子頁面訪問路徑(jsp或html等)
b.將統計好的資料一一對應起來,存放在配置檔案中或者資料庫某個表中,這些資料隨著業務的新增或者裁剪應有相關對應的維護,暫時以配置檔案為例
c.在登入模組中通過登入的使用者角色查詢它能夠訪問的選單url(寫乙個介面方法),存放在乙個靜態公有list變數中,如下定義:
public將查詢返回過來的url集合塞給menu_urls。d,static listmenu_urls = new arraylist<>();
定義乙個靜態公有properties變數,用來存放配置檔案中的鍵值對,如下定義:
public然後對其進行讀取配置檔案並賦值static properties menu_inte***ce = null;
string url = request.getsession().getservletcontext().getrealpath("/web-inf/classes/porturl.properties");e.springmvc***,判斷session中使用者是否過期,在dofilter 方法裡匹配,只要js,css,pdf,png,jpg等檔案可放行,在裡面判斷使用者是否登入,沒有登入的話只要是非登入頁面的頁面,統一視為越權訪問。如果是已經登入的使用者,我們可以取到登入後的menu_urlsfile file = new
file(url);
try
catch
(exception e)
和menu_inte***ce
的資訊,可以做如下判斷:
如果訪問的路徑checkurl和menu_urls
中的任意子串能匹配的上的話說明是可以訪問的,這種情況放行,否則攔截下來跳轉登入,記錄越權訪問資訊;
在上面的情況下,還會存在一種情況,當訪問的路徑是子頁面的時候,這個時候需要去匹配,能匹配上的可以放行,這個需要通過checkurl去配置檔案中找到對應的父url,然後再進行匹配menu_urls
,這個裡面的父url是唯一的,配置檔案中一(父)對多(子)。
介面訪問的也是同樣的道理。
其中放行方法:
//這樣就大功告成,具體**細節如下所示:正常訪問,直接放行
filterchain.dofilter(servletrequest, servletresponse);
return;//
初始化printwriterurl
string printwriterurl="";
//其他jsp的時候算是越權訪問
logger.info("使用者越權訪問!!!!" +url);
推送放行
)else
if(server.tostring().contains("login.jsp"))
else
}else
if(user !=null && server.tostring().contains(".jsp") && !(server.tostring().contains("login.jsp")))
else}c:
for(int j=0;j)
}//當上乙個判斷時不能訪問考慮第二種情況
//如果發現是css或者js檔案,直接放行
/*** 判斷是否為ajax請求
是true, 否false
ftp的web訪問格式
訪問ftp伺服器傳統的方法是使用專用的客戶端程式,包括命令列的ftp客戶端c windows system32 ftp.exe,以及各種圖形介面的ftp客戶端程式。在ms windows系統中使用資源管理器是另一種介面友好的方便使用方法。這種方法需要用到url格式 1 完全格式 ftp userna...
web的字型處理
2.對於字型的引用 2.1檔案的目錄截圖 2.2 html部分 雖然今天溫度很低,天氣很冷,但是還是有太陽的,比較開心!綠蘿會開花嗎 為什麼感覺字型不全呢,一些字並沒有被轉化的樣子,這樣顯示的好蹩腳啊。像個壞了的花瓶啊。綠蘿會開花嗎 zsdjfhiafgsdhfg 為什麼感覺字型不全呢,一些字並沒有...
web專案上線的基本步驟
前段時間,想做乙個自己的個人 倒是可以自己開發,可是還不會上線,於是開始自學專案上線,1.專案開發 2.購買或者租用一台雲伺服器 3.購買並註冊網域名稱 5.公安網備案 6.搭建伺服器環境 7.專案發布 8.運營維護 下面簡單介紹一下這7個步驟,當然不是最標準的,不過可供初學者參考 1.專案開發 專...