分析网站如何检测已经登录的QQ帐号
首先说一些为什么会分析这个,由于之前一直在研究怎么能够跨域获取视频地址,之后开始思考如何能够将分段的视频合在一起,使用js?flash?还是调用本地的软件处理?显然目前比较多的是本地的软件,比如各个视频网站的自己的客户端,比如硕鼠整合软件,那么,如何在网站中调取本地软件呢?比如优酷网站中当你点击“下载”的时候,会启动你本机中的优酷客户端,由于我没有安装它的客户端,偷懒了一下,想到使用QQ登录后,打开QQ的空间、邮箱等等,会自己检测出已经登录的QQ,这个会不会也是网站在你本地中寻找登录信息呢?结果,结果就是将优酷调取本地客户端的问题转移到了QQ上。
一步步来:
F12调试模式,打开链接:https://mail.qq.com/
而将邮箱页面里边你已经登录的账号上,右键,审查元素,找到:
对比已经显示出来的信息,发现帐号信息添加到了"检测到您已登录QQ帐号"文字下边的源代码:<div id="list_uin"></div>里边了
画红线的就是判断QQ帐号是否登录的url,在另一个页面中打开:
这样就找到了你已经登录的信息,网上其他网友还找到可以使用这个url验证你是否已经有QQ登录了:http://xui.ptlogin2.qq.com/cgi-bin/qlogin
使用我画红线那个url打开的时候,F12,请求的资源有:
使用网友找到的那个url请求到的资源是:
显然,能够找到已经登录信息,就在这个返回的response中,将它们拷贝出来js格式化一下:
既然最终数据填充到了list_uin,Ctrl+F它:<label for
找到了:
G += "<li><input type='radio' name='q_uin' id='uin_" + F.uin + "' " + B + D + " /><label for='uin_" + F.uin + "'>" + F.nick.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">") + " (" + F.name + ")</label></li>"
接着找F是怎么来的,继续,继续,这样找,最后发现:
JS通过loaduin()函数得到的用户信息,它的调用方式是:pt.loaduin(); ,之后想问pt是什么,也就找到pt.qInit();:
qInit: function() {
if (pt.inited) {
return
}
pt.inited = true;
try {
if (window.ActiveXObject) {
pt.qtrl = new ActiveXObject("SSOAxCtrlForPTLogin.SSOForPTLogin2");
var C = pt.qtrl.CreateTXSSOData();
pt.qtrl.InitSSOFPTCtrl(0, C);
pt.vOptData = pt.qtrl.CreateTXSSOData()
} else {
if (navigator.mimeTypes["application/nptxsso"]) {
var E = document.createElement("embed");
E.type = "application/nptxsso";
E.style.width = "0px";
E.style.height = "0px";
document.body.appendChild(E);
pt.sso = E
}
}
pt.loaduin();
var B = pt.list.length;
if (B <= 0) {
pt.showMsg(pt.lang[0], "");
return false
} else {
pt.buildList()
}
$.cookie.set("ptui_qstatus", 2, pt.domain, "/", 0.01)
} catch(D) {
pt.qtrl = null;
$.cookie.set("ptui_qstatus", 3, pt.domain, "/", 0.01);
pt.showMsg(pt.lang[1], "");
if (!pt.isHttps) {
url = "http://ui.ptlogin2.qq.com/cgi-bin/report?id=89217";
var A = new Image();
A.src = url
}
}
},
发现pt是IE下的ActiveXObject或者其他浏览器的"application/nptxsso",后者不知道是什么类型,就知道是sso(异构系统单点登录 SSO(single-sign-on)技术)的,而前边的SSOAxCtrlForPTLogin存在于C:\Program Files\Common Files\Tencent\TXSSO\Bin中,两种方式都是采用浏览器扩展插件的权限去在本地中寻找登录信息,具体这个npSSOAxCtrlForPTLogin.dll或者"application/nptxsso"是怎么实现的,我不深弄了,是腾讯自己实现的NPAPI,( 关于NPAPI的创建)而为什么确定是在本地找用户信息而不是在服务器,说明一下:
这里有几篇博客:
http://www.360doc.com/content/13/1018/17/6692427_322396952.shtml 腾讯的网站如何检测到你的 QQ 已经登录?
http://www.zhihu.com/question/20038903 QQ是如何实现快速登录的
http://1.lanz.sinaapp.com/?p=152 WEB检测QQ登录状态机制分析
http://www.iteye.com/problems/77473 关于QQ空间自动检测本地已经通过客户端登陆的账号
使用里边的方法,将网络断开的时候,依然可以检测到已经登录(已经离线,但是没有退出,也算是登录的一种状态)的帐号信息。
NAAPI里边应该是使用了固定的字符串xui.ptlogin2.qq.com,想要自己搭建一个服务器访问它,还需要在hosts里边定义一个本地的DNS解析,将xui.ptlogin2.qq.com解析成192.0.0.1,具体问下百度就哦了。
腾讯的一个脚本工具:
http://trip.qq.com/script/checkQQPlus.js
总结完这个,与我最初想要做的调用本地软件去将视频合并有一些关系,接下来的目的就是如何写个dll用来处理将视频合并,以及怎么实现除了IE外那个类型内容的实现,目前没有什么头绪,希望哪位高手知道可以指点一下。
分析网站如何检测已经登录的QQ帐号相关推荐
- QQ帐号注销功能灰度体验中:预计下周发布!
[TechWeb]3月6日消息,腾讯QQ官方微信公众号今日发文称,QQ帐号注销功能将在手机QQ7.9.9版本中上线,目前该版本正在灰度体验中,预计下周正式发布. 具体操作上,可通过点击头像-设置-帐号 ...
- 乐视账号服务器关闭,乐视手机恢复出厂设置之后服务异常怎么办_无法登录乐视帐号解决办法_智能家...
近期由于乐视账号服务器调整,出现了乐视手机重置后登录不了乐视账号,乐视手机恢复出厂设置之后服务异常是什么原因?小明同学为大家带来了无法登录乐视帐号解决办法... 乐视手机无法登录乐视帐号解决办法 乐视 ...
- 腾讯:QQ帐号注销功能正灰度体验中 预计下周正式发布
新浪科技讯 3月6日下午消息,腾讯QQ今日在其公众号回应了QQ帐号注销的相关问题.腾讯表示,QQ帐号注销功能将在手机QQ7.9.9版本中上线,目前该版本正在灰度体验中,预计下周正式发布,敬请期待. 在 ...
- 腾讯的网站如何检测到你的 QQ 已经登录?
http://www.lovelucy.info/tencent-sso.html 在 QQ 已经登录的情况下,手动输入网址打开 QQ 邮箱 或者 QQ 空间 等腾讯网站,可以看到网页已经检测到本地 ...
- 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题
前言: 多次数据库试验经验报名,远程数据库的访问问题,大多数是因为有帐号和访问权限的原因. 本文,通过从安装SQL SERVER开始暂时,我们在远程访问SQL SERVER数据库的时候可能遇到的问题. ...
- Ajax实现简单的登录验证与帐号注册
上一篇博客介绍了Ajax的GET和POST方法以及上传文件的进度条展示,这篇博客将介绍一个简单的登录与注册功能的实现 设计HTML 这个是即将成为我毕业设计的一个网站, 在导航栏我添加了两个注册和登录 ...
- 如何取消wlan自动登录 更换wlan帐号
author:张继飞 对于第一次在电脑上使用wlan后,设置了自动登录功能,每次连接cmcc,打开浏览器就会自动进入主页,不再提示输入手机号与密码.这样如果要使用其它号码就会无法进入帐号设置页面.下面 ...
- 专偷密码的“偷密婆” 疯狂盗取QQ帐号
"偷密婆"(Win32.Troj.Downloader.c.45056)这是一个木马程序,能够关闭360安全 卫士,创建单独线程监控注册表禁止显示隐藏文件,建立网络连接,从网络下载 ...
- 找回在foxmail中登录过的帐号密码
一.场景 一直用工作电脑的foxmail收发邮件,在家想登录邮箱时,居然忘记了密码,试不出来: 就想着工作电脑中的foxmail一直是自动登录,应该将帐号密码记录在某处,一试果然可行,现分享给大家 二 ...
最新文章
- java zookeeper_Java zookeeper开发实例
- Java Web Model2实战
- java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
- Windows 10 周年更新正式版下载 + win10 快捷键
- nc 模拟服务器_Go实战——实现一个并发时钟服务器
- SpringMVC Controller 和 Servlet的关系
- Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标
- 微软如何利用机器学习改进Win 10更新体验
- directsound抓取麦克风PCM数据封装类
- window防火墙端口映射_Windows 防火墙上也有端口映射功能
- dedecms教程:龙书浩最新DedeCmsV5.7建站仿站VIP视频教程免费下载
- scrapy框架爬取大单、中单、小单净流入流出
- x50pro怎么升级鸿蒙系统,被央视点赞的vivo X50 Pro拍照如何?实测告诉你
- CUBEMX STM32F105RB U盘读写详细教程
- 双色球的篮球购买保本的买法计算!
- 华为android9.1指令,华为手机进工程模式指令大全(新增EMUI9.0指令链接)
- qq空间相册查看器_教你用微信把自己的照片制作成音乐相册,模板多,操作又简单...
- C++PTA习题总结(三)
- 十五、机器学习中的决策树和随机森林算法
- 一种基于PCI总线的反射内存卡设计