0
我正在使用Fortify工具,並將其指向一個問題作爲競爭條件:單一成員字段在jsp頁面中。它說: 類rateUs.jsp是一個單例,所以成員字段arrayList在用戶之間共享。結果是一個用戶可以看到另一個用戶的數據。如何使Arraylist Member字段在jsp文件中不受Race Condition影響?
下面是它指向的問題的代碼。
<%
ArrayList arrayList = null
arrayList = (ArrayList) request.getSession().getAttribute("SLIST");
%>
我需要在這裏改變一些東西嗎?
AFAIK jsps沒有任何可變狀態,因此它們是單身或不重要(我們需要查看您的代碼)。可能導致賽車狀況的是使用存儲在會話中的非安全列表:用戶可以發出2個並行寫入列表的請求,從而導致令人討厭的錯誤(我們曾經有過類似於' HashMap',其中2個併發寫入導致兩個線程中無限循環)。 – Thomas
我期望這是一個簡單的測試:作爲兩個不同的用戶登錄並驗證用戶可以或不可以看到的內容。 –