【问题标题】:Access to session variables to the client访问客户端的会话变量
【发布时间】:2014-07-15 07:46:15
【问题描述】:

我正在制作一个网络应用程序,其中用户登录到他的帐户,然后可以查看其他用户的详细信息,并且只能编辑他自己的详细信息,除非他已被指定为站点的管理员。这只是开始。

但我的问题是关于会话劫持。在会话劫持下,如果我们可以访问其他用户的会话 ID,我就可以访问他的帐户。 在我的项目下,我在登录时验证用户名和密码,然后在会话中存储用户的用户名。像这样的东西;

session.setAttribute("uname",username);

所以,我的问题是:很多时候我们都知道朋友的用户名。如果我运行自己的帐户,我可以很容易地看到我自己的会话 id,那么有什么方法可以看到站点设置的会话变量?! 那么,就我而言,用户能否以某种方式看到我已将用户名存储在会话中并有机会更改它?!就像在会话劫持中一样,我们会更改会话 ID。

真的很抱歉,我知道这是一个非常令人困惑的问题。 :| 但请帮助某人.. 提前谢谢..

【问题讨论】:

标签: jsp session


【解决方案1】:
  1. 确保使用 https。否则,由于密码在登录屏幕上以明文形式通过网络发送,所有安全性都将丢失。
  2. 您还应该通过(至少)将 IP/浏览器存储在会话中并根据请求标头中的内容验证这些 IP/浏览器,使会话无效并在出现不匹配时进行重定向,从而防止会话劫持。
  3. 除非您向用户公开查看和更改会话信息的能力(即通过制作允许他们这样做的页面),否则他们不应该这样做。当然,如果您制作了这样一个页面并且没有正确保护它,那么他们可能会找到一种利用它的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多