admin管理员组文章数量:1535457
QQ快速登录实现原理分析之localhost.ptlogin2.qq 怎么会映射到 127.0.0.1问题
- 前言
- 一、分析方法
- 1. 查看域名的DNS解析
- 二、原理分析
- 三、知识延伸
前言
最近也在研究QQ快速登录实现原理,在研究过程中也遇到一个问题久久知道其运作原理。在QQ快速安全登录页面中,一个https://localhost.ptlogin2.qq:4301/pt_get_uins接口,远程地址不是QQ的服务器,而是指向的是127.0.0.1访问的本机。可是奇怪的是,这样的域名映射在C:\Windows\system32\drivers\etc\hosts文件中又没有相应的配置项。腾讯是通过什么样的骚操作才能够实现这样的功能呢?下面揭晓答案(个人猜测,如有雷同纯属巧合)
一、分析方法
1. 查看域名的DNS解析
通过查看Dns命令nslookup可以看出,有一条非权威应答指向的127.0.0.1,如下图所示。
查阅多方资料发现,其实这种映射其实很简单,就是域名解析的时候将子域名映射到127.0.0.1即可(前提你有注册域名),我想腾讯应该也是这样做的,这样处理可以完美解决浏览器跨域问题。
二、原理分析
实际上,本地QQ客户端监听了4300-4308端口,浏览器通过HTTP请求的方式,向本地QQ客户端发送请求,拿到了当前本地QQ客户端登录的账户信息。
浏览器向本地QQ发送请求时,请求中带上了能够令本地QQ确认网站合法性的参数,以防止非法用户获得当前本地QQ客户端的账户信息。
三、知识延伸
其实,这种有时候在本地测试需要用到指向本机的不同域名和IP,互联网上也有很多解析到127.0.0.1的域名,例如:
http://safe.taobao
http://114.taobao
http://ecd.tencent
http://wifi.aliyun
http://localhost.sec.qq
http://localhost.ptlogin2.qq
另外,还有一个专门解析到127.0.0.1的域名:localtest.me,也可以使用子域名。例如:
http://localtest.me
www.localtest.me
http://test.localtest.me
http://a.b.c.localtest.me
http://1234.localtest.me
版权声明:本文标题:QQ快速登录实现原理分析之localhost.ptlogin2.qq.com 怎么会映射到 127.0.0.1问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1726906731a1089855.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论