代码之家  ›  专栏  ›  技术社区  ›  curious1

为什么表单的POST方法中缺少会话数据?

  •  0
  • curious1  · 技术社区  · 5 年前

    我的网站运行在springmvc(4.2.9.RELEASE)和Tomcat(8.0.33)上。我有一张表格来收集一些信息。我使用以下方法确保数据是通过页面输入的:

    在显示窗体的GET方法中:

    HttpSession session = request.getSession();
    session.setAttribute("this_form", "dummy");
    

    在POST方法中:

    HttpSession session = request.getSession();
    if (session.getAttribute("this_form") == null) {
      //print "No dummy token", date/time, visitor's IP address;
    }
    

    该网站位于负载均衡器的后面。我注意到有时会打印“无伪标记”,只是有时。我想说99%的会话数据是在后方法中找到的。在会话数据丢失的情况下,打印输出只有一次,短时间内重复打印的次数不多。

    上面的代码有什么问题吗?如果会话数据不是由恶意数据发布引起的,为什么会丢失?

    0 回复  |  直到 5 年前