作者:打酱油的伦 | 来源:互联网 | 2023-05-19 10:30
php教程|php手册关于,PHPFetion,不能,好友,发送,飞信,问题,新版php教程-php手册php号码销售源码,ubuntu无线驱动配置,tomcat服务端性能优化,典
php教程|php手册
关于,PHPFetion,不能,好友,发送,飞信,问题,新版
php教程-php手册
php号码销售源码,ubuntu无线驱动配置,tomcat服务端性能优化,典型网站爬虫库,php浏览器安装教程交流,seo简历优化lzw
(最新版本下载:http://code.google.com/p/php-fetion/downloads/detail?name=phpfetion_v1.3.0.zip) 最近一直有网友反映,PHPFetion类不能给好友发送飞信了,但给自己还可以。通过网友的提示以及我自己的研究发现,在wap飞信中给好友发信息时,加了个csrf
微信 html5 源码,如何vscode,ubuntu显示grub,更改tomcat,sqlite cpp封装,美国和香港哪里的服务器 速度快,怎么制作雨滴插件,html前端原生框架,爬虫是干什么,php删除文件函数,蓝芙seo,卖米网站源码,网页小偷软件,织梦cms游戏模板,java 下载后刷新页面,广告机管理系统,java程序加密lzw
wcf 系统源码,vscode中文输入法,ubuntu选择桌面,tomcat创建的请求,爬虫是动物,打造自己的php框架,建阳区一般seo公司,php简单企业网站源码lzw
(最新版本下载:http://code.google.com/p/php-fetion/downloads/detail?name=phpfetion_v1.3.0.zip)
最近一直有网友反映,PHPFetion类不能给好友发送飞信了,但给自己还可以。通过网友的提示以及我自己的研究发现,在wap飞信中给好友发信息时,加了个csrfToken字段。
不出意料的话,这个csrfToken应该就是起个防止表单跨站提交的作用。但由于这个csrfToken明文出现在了给好友发飞信的表单页面里,所以获取它也很容易。并且这个csrfToken在给其他任何好友发飞信时,都是不变的,所以只需要获取一次即可。
我写了如下代码来获取csrfToken:
/** * csrfToken * @param string */protected $_csrfToten = null;/** * 获取csrfToken,给好友发飞信时需要这个字段 * @param string $uid 飞信ID * @return string */protected function _getCsrfToken($uid){ if ($this->_csrfToten === null) { $uri = '/im/chat/toinputMsg.action?touserid='.$uid; $result = $this->_postWithCOOKIE($uri, ''); preg_match('/name="csrfToken".*?value="(.*?)"/', $result, $matches); $this->_csrfToten = isset($matches[1]) ? $matches[1] : ''; } return $this->_csrfToten;}
另外也修改了给好友发飞信的_toUid()函数:
/** * 向好友发送飞信 * @param string $uid 飞信ID * @param string $message 短信内容 * @return string */protected function _toUid($uid, $message){ $uri = '/im/chat/sendMsg.action?touserid='.$uid; $csrfToken = $this->_getCsrfToken($uid); $data = 'msg='.urlencode($message).'&csrfToken='.$csrfToken; $result = $this->_postWithCOOKIE($uri, $data); return $result;}
写好的代码依然放在了Google Code中,并打包成了最新版本PHPFetion v1.3,下载地址为:http://code.google.com/p/php-fetion/downloads/list。
原文地址:关于PHPFetion不能给好友发送飞信的问题, 感谢原作者分享。