-1

看到使用 session 和 cookies 是如此不安全,是否可以安全地使用 servlet 上下文变量和隐藏表单字段,url 重写来实现与 session 相同的事情?

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

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

4

1 回答 1

0

不,Cookie 与 Servlet 上下文不同。ServletContext 每个应用程序都是单例的。不是每个用户。您应该避免将 ServletContext 用于用户特定信息,因为您还需要处理用户生命周期,例如在用户空闲时删除用户信息。

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

  • 网址改写
  • 隐藏的表单域

但是您可以借助以下属性使 Cookie 得到保护:

  • httponly:在受支持的浏览器上,仅在传输 HTTP(或 HTTPS)请求时才会使用 HttpOnly 会话 cookie,从而限制来自其他非 HTTP API(例如 JavaScript)的访问。
  • secure :安全cookie 启用了安全属性,并且仅通过 HTTPS 使用,确保 cookie 在从客户端传输到服务器时始终加密。
  • :它们告诉浏览器 cookie 应该只发送回给定域的服务器。
  • Path:他们告诉浏览器cookies应该只发送回给定路径的服务器。
于 2013-04-08T16:16:33.957 回答