wechat-php-sdk
wechat-php-sdk copied to clipboard
微信公众平台 PHP SDK
漏洞文件: src/Wechat.php 漏洞原因: 调用simplexml_load_string函数未禁用实体引用,导致攻击者可以读取服务器任意文件 漏洞修复: 在所有调用simplexml_load_string函数前调用libxml_disable_entity_loader(true)禁止实体引用 漏洞证明: 略 报告来自: niubl of Tencent Blade Team
关于验证
wechat类内构造函数你以1个数组为参数,然而你实例化时是却以4个参数传输,所以验证时一直不行,改了就好。
errorCode.php 请依照微信官方实例代码添加 static,否则会出现如下错误: 
公众平台安全升级,消息体签名及加密功能上线 https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1413190743&version=34&lang=zh_CN
test里的代码如何配置运作?改了sdkTestBase里的token貌似还不行,能否说明一下配置步骤?
你好,我的是服務號,能否將FromUserID能否轉化成真正的User 名或ID,再把資料存入伺服器,謝謝
消息校验机制疑惑
微信开发文档上描述: “每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。” 这个不是很好理解。微信后面的消息,都是POST消息。而一开始的验证消息是GET消息。后面的微信发过来的消息中,是怎么带这几个验证参数的? 用现在的SDK,每次通过微信提供的页面调试接口调试,都是返回签名校验失败,修成如下的形式就OK。 if ($this->isValid()) { if (!$this->validateSignature($token)) { exit('签名验证失败'); } // 网址接入验证 exit($_GET['echostr']); }
目前只是简单实现了接收和发送消息,很多判断还需要使用者自行编写。 打算增加「文本路由」功能,和 MVC 框架的路由类似,采用正则匹配,符合特定规则就将关键字作为参数传过去。 一些简单的想法,欢迎讨论。