在JSP / Servlet中安全传递参数(无框架)

时间:2015-02-06 07:18:51

标签: java jsp url servlets web

我们有一个JSP页面和一个Servlet页面,我们通过URL将参数从JSP传递给Servlet。以下是JSP链接

<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并访问其他客户端信息!不仅如此,任何人都可以访问任何人的信息,无论客户是否属于他们!

我们怎么能阻止这个?

1 个答案:

答案 0 :(得分:2)

  1. 获取登录用户。

  2. 检查该用户是否应该能够访问此客户的详细信息。

  3. 如果没有,请返回错误页面而不是客户详细信息页面。

  4. 在不了解现有代码和数据库结构的详细信息的情况下,我可以更具体。