开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3517|回复: 3
收起左侧

[PHP相关教程] 微信公众号与网站通讯 token验证

[复制链接]

结帖率:100% (6/6)
发表于 2014-10-18 22:56:09 | 显示全部楼层 |阅读模式   上海市上海市
本帖最后由 宿海仁太 于 2014-10-18 22:57 编辑

<?php
/**
*+------------------------------------------------------------------------------
* 微信服务号通用配置类
*+------------------------------------------------------------------------------
* @author         liujiebin    *                      liujiebin's version 3.12
* @copyright      Copyright (c) 2012 - 2014, AllRight By liujiebin, Studio.
* @website        
* @param          _initialize 自动加载
* @param          token       token验证
* @access public
*+------------------------------------------------------------------------------
* 开发时间: 2014 - 10 - 18
* 更新时间: 2014 -    -
* 更新内容: 暂未更新
*
*/
namespace Home\Controller;
use Think\Controller;
class WeixinController extends Controller {
    public function _initialize(){
     session('OriginalId',"gh_ac0b5ed6d32b");
     session('AppToken',"otofuturestore");
     session('AppId',"验证时候不需要填写");
     session('AppSecret',"验证时候不需要填写");
  }
  public function token(){if (isset($_GET['echostr'])) {$this->valid();}else{$this->responseMsg();}}
  public function valid(){$echoStr = $_GET["echostr"];if($this->checkSignature()){echo $echoStr;exit;}}
  private function checkSignature(){
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];                                
                $token = session('AppToken');
                $tmpArr = array($token, $timestamp, $nonce);
                sort($tmpArr, SORT_STRING);
                $tmpStr = implode( $tmpArr );
                $tmpStr = sha1( $tmpStr );
                if( $tmpStr == $signature ){
                        return true;
                }else{
                        return false;
                }
        }
public function responseMsg(){
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    if (!empty($postStr)){
        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $RX_TYPE = trim($postObj->MsgType);
            switch ($RX_TYPE){
                case "text":
                    $resultStr = $this->receiveText($postObj);
                    break;
                case "event":
                    $resultStr = $this->receiveEvent($postObj);
                    break;
                default:
                    $resultStr = "";
                    break;
            }
            echo $resultStr;
        }else {
            echo "";
            exit;
        }
    }







}



评分

参与人数 1好评 +1 精币 +5 收起 理由
半夏时光 + 1 + 5 感谢分享,很给力!~

查看全部评分

结帖率:71% (32/45)
发表于 2017-7-23 14:22:25 | 显示全部楼层   广东省河源市
返回的包 仅仅 只是resultStr 吗  带不带什么协yi头的
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 3 天

发表于 2015-8-19 22:19:18 | 显示全部楼层   天津市天津市
顶顶!支持一个!赞哟
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
发表于 2014-10-21 15:14:22 | 显示全部楼层   福建省厦门市
话说..   开发文档里面那个直接下载下来就可以用了吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表