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
我期望这是一个简单的测试:作为两个不同的用户登录并验证用户可以或不可以看到的内容。 –