2015-02-06 48 views
0

我們有一個JSP頁面和一個Servlet頁面,我們通過URL將參數從JSP傳遞給Servlet。下面是JSP鏈接在JSP/Servlet中安全傳遞參數(無框架)

<a href="OpenServlet?idClient=23">Allergies</a> 

在我們的servlet中,我們做了一些如下的過程。

int id = Integer.parseInt(request.getParameter("idClient")); 
//Do the work 

RequestDispatcher d = request.getRequestDispatcher("view.jsp"); 
d.forward(request,response); 

不幸的是,這使得idClient 100%可見,它也是可編輯的。我們注意到用戶可以簡單地從URL中編輯idClient並訪問其他客戶端信息!不僅如此,任何人都可以訪問任何人的信息,無論客戶是否屬於他們!

我們該如何解決這個問題?

+0

您通常如何獲取哪個用戶登錄? – immibis 2015-02-06 07:26:51

+0

@immibis:使用會話。 – 2015-02-06 07:27:13

+2

1.獲取登錄的用戶。 2.檢查他們是否應該訪問此客戶的詳細信息。 3.如果沒有,則顯示錯誤頁面而不是客戶端詳細信息頁面。 – immibis 2015-02-06 07:27:53

回答

2
  1. 獲取登錄用戶。

  2. 檢查該用戶是否應該能夠訪問此客戶的詳細信息。

  3. 如果不是,返回錯誤頁面而不是客戶端詳細信息頁面。

如果不知道現有代碼和數據庫結構的細節,我不能更具體。