网页版知乎打开来居然登陆了一个不是自己的号这是咋回事

所谓的串号现象,其实是因为登录信息被缓存代理服务器(proxy)缓存了导致的。proxy有可能是的CDN供应商提供,也可能是自建,或者是运营商自建,正常情况下前两者提供的服务不会出现串号的现象,一般是后者提供的服务会出现这种情。因为前两者提供的服务上线前都会经过全面的测试,在使用该服务前也会对各个风险点进行全面测试,串号这种极其简单易排查的故障保是不可能被忽略的。但是很多地区运营商为了减少用户和互联网的数据传输,降低出口带宽成本,都会在自己的网内搭建缓存代理,http请求都会被劫持到代理,代理服务器会将其他用户请求过的内容缓存下来,另外一个用户请求的时候就不会再到互联网下载,从而极大的节省了带宽成本。其实http协议本身是对内容是否可以缓存做出了规范。比如首页的响应头中就含有“Cache-Control:no-store”的头信息,该头信息就指示所有的proxy和缓存服务器不可以缓存本内容,包括浏览器本身也不会缓存此内容。如下图是 - 与世界分享你的知识、经验和见解首页的http响应头信息。 【网页版打开来居然登陆了一个不是自己的号这是咋回事】 网页版知乎打开来居然登陆了一个不是自己的号这是咋回事

一些图片,js,css之类的内容是允许缓存的,比如首页的这张图片,就允许缓存31536000秒,其对应的头信息是“cache-control:public, max-age=31536000”,这个头信息告诉缓存服务器这个文件可以缓存多久。网页版知乎打开来居然登陆了一个不是自己的号这是咋回事

另外还有一个头信息告诉缓存代理和浏览器这个文件最后修改时间是什么时候,“last-modified:Thu, 07 Jul 2016 07:32:28 GMT”,当缓存代理和浏览器的缓存中该文件过期后,用户再次请求该内容的时候,浏览器和缓存代理会在请求头中加入“if-modified-since:Mon, 04 Jul 2016 06:16:30 GMT”的询问,服务器会检查文件有没有修改,如果没有修改则返回HTTP 304告诉缓存和浏览器文件没有修改,否则返回http 200将最新内容返回。以上是有关缓存的有关知识,但是如何判断http内容是不是被正常授权的代理服务器响应的,可以通过查看域名的解析和响应的服务器是否一致来判断。这需要涉及到一定的网络和抓包知识,就不在这里说了。因为传输的数据是明文的,所以http协议极其的不安全,但是现在web版本使用的传输协议以及切换到https,这就可以完全避免用户请求的内容被非授权的代理商缓存了,因为https要求进行双向认证,而非授权的代理服务器不可能获取的证书从而不可能缓存或者篡改用户的请求或者响应。因为不知道群主发帖的时间,所以也不知道当时网站是否启用https,不过如果现在有其他用户还有出现这种问题,手动将浏览器地址栏中的http改为https即可。一般来说只要浏览器支持,会自动将用户的请求切换到https,除非用户使用一些不支持https的很老旧版本很低的浏览器,关于各个浏览器版本对https协议的支持情况,可以看这里:Template:TLS/SSL support history of web browsers。另外出现这种问题,只要是用的主流最新版本浏览器,可以直接向运营商投诉。
■网友
估计为了冯大辉1万美金,遭受攻击23333
■网友
用你的号 跟他说话问问他怎么回事.


    推荐阅读