解决方案 »

  1.   

    1、用session保证用户名和密码的作用域
    2、不会
    3、可能会出现你说的问题,但是不用刷新,例如你在页面上做一个按钮操作或者什么,也会变成账号A的内容
      

  2.   

    你要在一个浏览器里开两个窗口,还不同账号登陆的?  那你的登陆信息要保存在服务器端吧,你现在估计是保存在客户端,cookie肯定会被后登陆的更新掉的
      

  3.   


    你好,还是上述三个问题:
    1.session用JS是怎么实现,有库吗?session中保存的账号密码在浏览器中是不是新的用户登录时会覆盖老的用户。
    2.假如B可以看到A的内容,但右上角依旧是B的账号,这算不算一个设计上的bug.
    3.这种问题怎么避免呢?
      

  4.   

    cookie是被更新掉了,但是整个页面上其他部分都还是B的内容,刷新只能刷iframe里面的内容,这可能是为了效率更高,但想知道这么设计合理吗?
      

  5.   

    session保存用户名密码是不支持多用户同时登陆的,后登陆的会覆盖先前的登陆session,
    1、你说的场景一般是不予考虑的,因为既然是同一台电脑,即使有不同使用者,也可默认其是互相信任的。至于特殊情况,用户自身应有安全意识,离开前主动注销登陆或关闭浏览器(浏览器关闭后session会自动注销)
    2、至于你说的第二条,B用A用过的浏览器,还是一样需要登陆的吧,怎么会就直接看到A的私密内容了?不需登陆就显示的内容必然是无需保密的
    3、只是你闲极无聊的玩耍罢了,服务器没必要为你无聊的玩耍负责
      

  6.   

    1.这种场景在特殊的情况下也会出现的,一般并不能避免所有的问题。
    2.的确是遇到这种问题了,你的反问并不能否认很多开发者不会出现这样的bug,所以才会想要知道cookie实现的原理。
    3并非是闲极无聊,而是的确在偶然中遇到这种问题的,除了加强个人的安全意识之外,只是想了解是否还有从设计上避免这种问题的方法,才期许能得到高手或者有经验的开发者提供帮助。
    而且,这一块不只是服务器负责的,也涉及到本地cookie的有效期,既然正常操作出现问题,就说明不是无聊的玩耍。
    另外,楼上可能是从开发者的角度,设定前提是你已经把cookie做到万无一失,但如果真遇到这种问题,是不是cookie的实现上出了什么问题呢?
      

  7.   

    是session保证的 你还知道浏览器新开窗口是有选择的  有新建会话的选择  新建会话就是新建一个session 而且一个标签页是不可能存在两个不同账号的  如果你在A的标签页登录B账号,那么你的账号A的session会失效变成账号B的session   自认为说的很清楚了  不知道楼主会不会这么觉得  求给分   我真的很穷!!!!!
      

  8.   

    好吧  我有细心看了下楼主的问题   其实楼主说的情况是不存在的   但是为了保证你的操作session是实时的  那么楼主可以封装一个操作的JS处理  js处理包括两个部分  一个是做session校验(需要请求后台) 一个是你的js处理需要一个本身要处理业务的回调  那么在你页面所有的js操作使用这个方法 只把你单独要处理的业务以回调方式传给你封装的js方法  这样所有的操作都会去校验你的session 这样就保证了你的session是实时的
      

  9.   

    亲,想问下两个窗口能不能分别存在两个不同账号?我不是在A的标签页登录的,是直接新开了一个窗口登录B账号的。
    可以,可以存在两个帐号啊   但不是同一个session,方案你看看我10#给的   这个可以保证session同步,因为有些操作不需要确保session有效,而你说问题也是因为这个问题引起的   所以你需要在每一个操作都去判断session有没有失效   如果你们的项目要做压力测试  就是高并发测试的话  这个session有效的判断还需要在后台处理(具体看你们用什么框架selvert/action层)