17
回答
Bug:同一浏览器的不同用户,提交内容时的处理
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

有这样一个场景:

“同一个浏览器,登陆了用户A,到某提交处,然后再登录用户B,此时,用户A提交内容,这个时候更新了用户B的内容。”

A用户的页面在B用户登录后,就与服务器无关了,此时如果A页面提交内容,获取的数据,必然是B用户的了。

我想到的一个办法是在页面提交处保存sessionID,这样每次提交时先判断服务器上的sessionID是否和页面里面的一致。

但是这个方法也很容易被hack,通过firebug等插件,将sessionID修改了,也就没辙了。

不知大家对此问题的解决有何好办法?

 

<无标签>
举报
小权
发帖于7年前 17回/753阅
共有17个答案 最后回答: 7年前

测试了一下oschina,也会有相应的问题!

我先登录一个帐户A,到修改个人信息处,填写了部分内容,然后在同一个浏览器登录另一个用户B,这个时候我提交帐户A所在的修改和人信息页面,更新了帐户B的个人信息!

引用来自#4楼“小权”的帖子

引用来自#3楼“封心”的帖子

你A用户在线时怎么登陆B用户?

打开另一个Tab,退出,登录!

 你不是退出  A了吗

引用来自#4楼“小权”的帖子

引用来自#3楼“封心”的帖子

你A用户在线时怎么登陆B用户?

打开另一个Tab,退出,登录!

"退出" 这是关键.

好像是你在之前问了一个浏览器登录多账号的问题吧.

测试了一下oschina,也会有相应的问题!

我先登录一个帐户A,到修改个人信息处,填写了部分内容,然后在同一个浏览器登录另一个用户B,这个时候我提交帐户A所在的修改和人信息页面,更新了帐户B的个人信息!

试了不会啊,你要退出服务端该 sessionID就没了,自然就不会出现类似情况,出现这样的问题可能楼主你的过滤器没设计好!

可能没有表述清楚!

1、同一个浏览器,先让A用户在A Tab登录,然后打开B Tab,此时A Tab 和 B Tab都是A用户的登录信息吧,A用户到更改个人信息页面,修改某项详细,不提交,等待第三步提交。

2、此时在B Tab里面退出已登录的用户A,而登录用户B。

3、在A Tab 提交 第一步修改而没有提交的内容。

4、A Tab更改的内容变成B用户的了。

顶部