假如我是新浪的程序员,如何解决微博串号问题?

首先微博串号是什么引起的呢?
我查到网上说微博串号问题是由于运营商保存了session导致的,我很费解。。
如果session id是保存在url里面的,其他人是如何访问到这个url的?isp不会笨到把不同的query_string缓存同一个内容。
如果是保存在cookie里面的,isp也不会笨到缓存的时候不识别cookie啊。

然后,如果这种问题真实存在,那应该引起中国所有网站开发者的警觉,微博串个号,电商网站串个账户,每天来那么几下那隐私安全、资金安全就完全不存在了。。。

关于数字浏览器
楼下几位都提到了数字浏览器,但是这个问题我个人认为和数字公司关系不大。
首先新浪是有“前科”的,比如《新浪微博手机版现漏洞:可控制任意用户账号》、《新浪微博昨日起大面积账号错乱 可穿越至他人微博随意发信息》。
再者,用360浏览器的大多是技术小白(技术人员多用chrome这类东西),而小白的误报是非常严重的,这也是为什么要有网管这种职业,如果产品在体验上不够完善,这种误报就更多(浏览器这种东西受制于网站、插件等很多因素,所以用户体验连做到60分都很难,典型的例子:司马南flash事件)。所以这类报告我目前主观不接受。
第三,各种小白浏览器,比如搜狗,遨游,都出现过不少报告串号的事情。

分割线=======

关于某浏览器的解释(http://bbs.360safe.com/thread-82299-1...)我仍然觉得很扯淡,很难相信运营商会缓存session,难道写这个缓存规则的人不知道session是什么东西么。。有点常识都不会缓存这个。。不过这篇文章中倒是提出了一个解决方案:https。。。

另外非常感谢@lazy 的回答,两种情况我认为都是比较有可能的,与目前的报告数量也比较吻合,概率是低了点儿,但是基数实在是太大了。。。

回复
阅读 13.4k
5 个回答

session的id一般的是保存在cookie里面的,访问时客户端的id同服务器端的id相匹配。

说到微博串号的原因。我觉得有两种可能(纯属猜测):

  1. 一种有可能是因为算法问题导致的id在生成的时候出现了“碰撞",这种情况一般很难遇到,但是基于微博巨大的用户数量因而这类碰撞的产生就会有可能发生,毕竟基数太大了,难免有特例。
  2. 另一种,目前的服务器后台一般的都是集群处理的,有可能是在处理并行的时候没有处理好,有可能两台不同的服务器为不同的账号生成了相同的id

仅仅是想推测下可能造成用户session串号的原因,没有其他的意思,多谢指正

运营商缓存了session id,有点常识确实不会这么做,不过不排除运营商缓存的bug。
我们的动态页面就被缓存过,所以他缓存个session id,也没什么奇怪的。
一般干这种事的,都是长城宽带,电信通这些小运营商。

推荐问题
宣传栏