是否有可能根本不使用会话,只依靠servetcontext,隐藏表单字段等?

时间:2013-04-08 15:26:12

标签: servlets cookies servletcontextlistener

看到使用会话和cookie是如此不安全,是否可以安全地使用servlet上下文变量和hiddenform字段,url重写以实现会话所做的相同事情?

但它同样安全和方便吗?为什么不使用这种方法?

我只是想避免使用cookies!另外,如果我在servlet上下文变量中保存用户详细信息,它是否与cookie不同,只是在服务器端? 这是饼干最终被使用的原因,它们是客户端吗?

1 个答案:

答案 0 :(得分:0)

不,Cookies与Servlet Context不同。 ServletContext是每个应用程序的单例。不是每个用户。您应该避免使用ServletContext来获取用户特定信息,因为您还需要处理用户生命周期,例如在闲置时删除用户信息。

如果您不想使用Cookie,会话跟踪的替代方法是:

  • URL Rewirting
  • 隐藏表单字段

但您可以借助以下属性使Cookie安全:

  • httponly :在支持的浏览器上,只有在传输HTTP(或HTTPS)请求时才会使用HttpOnly会话cookie,因此限制了对其他非HTTP API(如JavaScript)的访问。
  • 安全:安全Cookie启用了安全属性,仅通过HTTPS使用,确保在从客户端传输到服务器时始终对cookie进行加密。
  • :他们告诉浏览器只应将Cookie发送回给定域的服务器。
  • 路径:他们告诉浏览器只应将Cookie发送回给定路径的服务器。