PHP读取MSN上的用户信息类

一个可以获取msn上用户信息的代码

<?php
$msn = new myMSN("h058@test.com", "123");
// MSNv9
class myMSN {
private $server = "messenger.hotmail.com";
private $port = 1863;
private $nexus = "https://nexus.passport.com/rdr/pprdr.asp";
private $sshLogin = "login.live.com/login2.srf"; //loginnet.passport.com/login2.srf
private $getCode = null;
private $_ip = null;
private $_port = null;
private $connect = null;
private $trID = 1;
private $maxMessage = 4096;
private $userName = null;
private $passWord = null;
private $debug = true;
function myMSN($userName="", $passWord="") {
if (!empty($userName) && !empty($passWord)) {
$this->userName = $userName;
//$this->passWord = urlencode($passWord);
$this->passWord = $passWord;
$this->startTalk();
}
}
function put($data) {
if ($this->isConnect()) {
fputs($this->connect, $data);
$this->trID++;
if ($this->debug)
print("<div style='color:green;font-size:13px;'>>>>{$data}</div>");
}
}
function get() {
if ($data = @fgets($this->connect, $this->maxMessage)) {
if ($this->debug)
print("<div style='color:red;font-size:13px;'><<<{$data}</div>");
return $data;
} else {
return false;
}
}
function isConnect() {
if (!is_null($this->connect))
return true;
else
return false;
}
function close() {
@fclose($this->connect);
}
function startTalk() {
if ($this->connect = fsockopen($this->server, $this->port, $errno, $errstr, 2))
$this->verTalk();
}
function verTalk() // MSN 协议协商 {
$this->put("VER {$this->trID} MSNP9 CVR0 rn");
$data = $this->get();
//echo $data;
if (false !== strripos($data, "VER"))
$this->envTalk();
}
function envTalk() // 环境协商 {
$this->put("CVR {$this->trID} 0x0409 winnt 5.0 i386 MSNMSGR 7.0.0816 MSMSGS {$this->userName} rn");
$data = $this->get();
//echo $data;
if (false !== strripos($data, "CVR"))
$this->reqTalk();
}
function reqTalk() // 请求确认 {
$this->put("USR {$this->trID} TWN I {$this->userName} rn");
$data = $this->get(); // XFR 3 NS 207.46.107.41:1863 0 65.54.239.210:1863 XFR 3 NS 207.46.107.25:1863 U D
//echo $data;
if (false !== strripos($data, "XFR")) {
list(, , , $serv) = explode(" ", $data); // 分析服务器
list($ip, $port) = explode(":", $serv); // 分析IP和端口
$this->_ip = $ip;
$this->_port = $port;
$this->reLink($ip, $port);
} else {
//echo $data; // USR 3 TWN S ct=1205292058,rver=5.0.3270.0,wp=FS_40SEC_0_COMPACT,lc=1033,id=507,ru=http:%2F%2Fmessenger.msn.com,tw=0,kpp=1,kv=4,ver=2.1.6000.1,rn=1lgjBfIL,tpf=b0735e3a873dfb5e75054465196398e0
list(, , , , $this->getCode) = explode(" ", trim($data));
//echo $data;
if (empty($this->sshLogin))
$this->reLoginTalk(); // 重新获取登陆服务器地址
else
$this->getLoginCode($this->sshLogin);
}
}
function reLink($server, $port) // 重置连接 {
$this->connect = null;
$this->server = $server;
$this->port = $port;
$this->trID = 1;
$this->startTalk();
}
function reLoginTalk() // 重新获取服务器地址 {
$ch = curl_init($this->nexus);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$header = curl_exec($ch);
//print_r($header);
curl_close($ch);
preg_match ('/DALogin=(.*?),/', $header, $out); // 捕捉服务器登陆匹配
//print_r($out);
if (isset($out[1])) {
$this->getLoginCode($out[1]);
}
else {
//return false;
exit("无法捕捉到登陆服务器的URL");
}
}
function getLoginCode($slogin) // 获取登陆代码 {
//echo($this->getCode);
if (!is_null($this->getCode)) {
$ch = curl_init("https://" . $slogin);
$loginInfo = array(
"Authorization: Passport1.4 rgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" . $this->userName . ",pwd=" . $this->passWord . "," . $this->getCode,
"Host: login.passport.com"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $loginInfo);
//print_r($loginInfo);
//$this->getCode = null;
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$header = curl_exec($ch);
//print_r($header);
preg_match ("/from-PP='(.*?)'/", $header, $out);
//print_r($out);
if (isset($out[1])) {
$this->loginAction($out[1]);
} else {
//return false;
exit("无法捕捉到登陆代码的信息");
}
} else {
return false;
}
}
function loginAction($loginCode) // 登陆工作 {
$this->put("USR {$this->trID} TWN S {$loginCode} rn"); // USR |trID| SSO S |t=code|
$data = $this->get();
//echo $data;
//print_r($data);
//$this->put("SYN {$this->trID} 0 rn");
//$this->put("CHG {$this->trID} NLN rn");
//print_r($this->get());
}
}
?>

时间: 2024-11-05 12:13:07

PHP读取MSN上的用户信息类的相关文章

php读取msn上的用户信息类_php实例

<?php $msn = new myMSN("h058@test.com", "123"); // MSNv9 class myMSN { private $server = "messenger.hotmail.com"; private $port = 1863; private $nexus = "https://nexus.passport.com/rdr/pprdr.asp"; private $sshLog

php读取msn上的用户信息

<?php $msn = new myMSN("h058@test.com", "123"); // MSNv9 class myMSN { private $server = "messenger.hotmail.com"; private $port = 1863; private $nexus = "https://nexus.passport.com/rdr/pprdr.asp"; private $sshLog

中国电信再现重大漏洞:上亿用户信息一览无余

随着手机实名制的普及,运营商掌握了大量的用户个人信息,但如果一旦运营商保管不善,那么用户的个人隐私就将遭到泄露.今日补天漏洞响应平台就爆出了中国电信某系统的重大漏洞. 通过该漏洞可以查询上亿用户信息,涉及姓名.证件号.余额,并可以进行任意金额充值.销户.换卡等操作.目前该漏洞已得到中国电信厂商确认. 据悉,黑客发现这个漏洞的入口不是很难,比较低微的弱口令和越权操作就能进入这个系统.进到系统之后,黑客发现有很多高危漏洞,黑客就可以看到全国电信用户的敏感信息.经了解,中国电信现已关停相关服务器. 作

小米台湾承认私自上传用户信息 称已更新系统

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 凤凰科技讯 8月11日消息,近日有台湾媒体称小米手机未经用户同意上传用户数据.小米承认私自上传用户信息,但称已经解决了该问题. 8月10日小米在香港Facebook主页发表声明,称发布了OTA升级包,关闭"网路简讯(大陆称为网络短信)"自动启动功能,升级后,所有新用户或将手机恢复出厂设置的旧用户,如希望开启"网路

小米就上传用户信息作出回应 称是短信功能自动启动所致

摘要: 小米公司昨天就台湾媒体质疑其产品会上传用户信息到北京服务器作出回应,称为网路简讯(即短信)功能自动启动所致,并表示已通过系统升级关闭了该功能的自动启动,包括大陆地 小米公司昨天就台湾媒体质疑其产品会上传用户信息到北京服务器作出回应,称为"网路简讯"(即短信)功能自动启动所致,并表示已通过系统升级关闭了该功能的自动启动,包括大陆地区. 近期,有台湾媒体报道,小米手机会上传用户资料到北京的服务器.报道称,经资安公司芬安全马来西亚实验室实测,小米手机在插入SIM卡.连上Wi-Fi并启

PHP 模拟登陆MSN并获得用户信息_php技巧

复制代码 代码如下: <?php /* * PHP100中文网,整体提供,测试通过 */ $msn = new myMSN(php100@php100.com, "123"); // MSNv9 class myMSN { private $server = "messenger.hotmail.com"; private $port = 1863; private $nexus = "https://nexus.passport.com/rdr/p

【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息

1.删除svn上历史资源路径 window--show view--other--svn资源库 可以右键选择删除 .       --------------------------------------------------------------------------------------------------割掉-------------------------------------------------------------------------------------

央视曝光网易邮箱窃取用户信息 投放垃圾广告

网易被曝光邮箱涉嫌偷窥用户信息,进行广告营销.受此影响,网易股价今日开盘后即大跌,跌幅一度超5%.业内人士指出,其实很过企业都这么干,包括谷歌在内,因为免费的代价就是隐私. [IT商业新闻网综合报道] (记者 苏黛)3月16日消息,昨晚央视"3.15晚会"曝光了一些企业"灰色"地带,许多企业摊上了大事儿,包括一些科技界的公司.其中网易邮箱被曝光涉嫌偷窥用户信息,进行广告营销.受此影响,网易股价今日开盘后即大跌,跌幅一度超5%. 央视称,即使你足不出户,也有人如影随形

快递公司数据库存在安全漏洞 可致用户信息泄露

8月11日消息,央视<每周质量报告>节目昨日报道称今年3月份,杭州市一快递公司的负责人发现有人在网上公开买卖他们公司快递单上的http://www.aliyun.com/zixun/aggregation/10619.html">用户信息.随后经警方调查发现,是一名在校学生在做网络安全测试时发现快递公司或者是其他公司的一些安全漏洞,从中提取个人信息并进行了网络售卖. 据该案件嫌疑人解释,有些快递公司网站的数据库存在一些比较低级的漏洞,比如弱口令漏洞.上传漏洞等等,成功通过漏洞进