php 限制微信登陆,thinkphp 微信用户登录 设置问题
token信息在这个目录\application\Portal\Controller\WeixinController.class.php
微信公众号基本配置中 填写的URL需要正确响应微信发送的Token验证
URL一栏应该怎么写
QQ截图20200708165734.jpg (31.62 KB, 下载次数: 0)
2020-7-8 16:57 上传
WeixinController.class.php 内容如下
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2014 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: Dean
namespace Portal\Controller;
use Common\Controller\HomebaseController;
class WeixinController extends HomebaseController {
public function __construct() {
parent::__construct();
}
function _initialize() {
parent::_initialize();
import('Common.Lib.weixin');
$this->weixin = new \weixin($this->extract[weixin_appid],$this->extract[weixin_key],$this->extract[access_token]);
}
public function index() {
$data2['get']=$_GET;
$data2['post']=$_POST;
$data2['server']=$_SERVER;
//接收传送的数据
$fileContent = file_get_contents("php://input");
//转换为simplexml对象
$xmlResult = simplexml_load_string($fileContent, 'SimpleXMLElement', LIBXML_NOCDATA);
$xmlarray=json_decode(json_encode($xmlResult), true);
$data2['xml']=$xmlarray;
$data['msg']=json_encode($data2);
$data['time']=date('y-m-d H:i:s',time());
M('weixin')->add($data);
define("TOKEN", "zmm");
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
if($xmlarray['Event']=='subscribe'){
$data=array();
$data['openid']=$xmlarray['FromUserName'];
if(!M('user')->where($data)->find()){
if(!M('openid')->where($data)->find()){
$data['code']=$xmlarray['EventKey'];
$data['time']=date('Y-m-d H:i:s',time());
M('openid')->add($data);
}
elseif($xmlarray['EventKey']){
$data['code']=$xmlarray['EventKey'];
$data['time']=date('Y-m-d H:i:s',time());
M('openid')->where(array('openid'=>$data['openid']))->save($data);
}
}
}
ob_clean();
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "
%s
0
";
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
// you must define TOKEN by yourself
if (!defined("TOKEN")) {
define("TOKEN", "zmm");
}
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
php 限制微信登陆,thinkphp 微信用户登录 设置问题相关推荐
- 小程序登录本地服务器,微信小程序实现用户登录模块服务器搭建
我选用的是node.js来搭建服务器,没有安装的小伙伴可以参考我的node.js其他博客. 服务器安装与配置 初始化项目,将会自动创建package.json配置文件. npm init -y 安装E ...
- Spring-Boot整合微信登陆、微信支付、邮箱发送、支付宝支付和阿里云短信
Spring-Boot整合 1. 发送邮件 2. 支付宝支付 3. 阿里云短信 4. 微信登陆 5. 微信支付 6. Swargger2 前后端API接口信息文档 7. ehcache缓存缓存 8. ...
- egret引擎下,微信分包,微信登陆,微信分享例子
egret引擎下,微信分包,微信登陆,微信分享例子 https://github.com/ChenXianbin/egret_kit/tree/%E5%88%86%E5%8C%85%E5%8A%A0% ...
- C语言再学习 -- Ubuntu 12.04 root用户登录设置
参看:Ubuntu12.04 root用户登录设置 参看:Ubuntu 12.04 root用户登录设置 ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通 ...
- ubuntu首次给root用户设置密码和root用户登录设置
1 ubuntu首次给root用户设置密码 给root用户设置密码输入命令sudo passwd,然后系统会让你输入密码,这时输入的密码就是root用户的密码了,设置完成之后就可以切换root用户登录 ...
- Ubuntu12.04 root用户登录设置
Ubuntu12.04 root用户登录设置 ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通身份登陆Ubuntu后我们需要做一些修改, www.2ct ...
- wps去除登陆_WPS强制用户登录功能,这是要闹哪样?
我一直都很信赖WPS,也很支持WPS,就是因为wps对之前word个版本之前的兼容很好. 前几天wps强制我更新了版本现在的版本:10.1.0.5850,以为是正常更新,一运行,就跳出登录窗口.因为本 ...
- 微信登陆的LOL只有一个服务器,《LOL》哪些区可以微信登陆 可微信登陆大区汇总一览...
导 读 <英雄联盟>官方今天宣布,部分大区开启了微信登陆功能,玩家可以将微信与QQ绑定,通过扫码登陆,一起来了解一下吧. 官方公告: 我们将于5月6日在征服之海,均衡教派,卡拉曼达,巨龙之 ...
- linux 用户禁止登陆,禁止Linux用户登录方法
我们在做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常运行.这个时候我们就要禁止用户登录. 1.禁止个别用户登录.比如禁止lynn用户登录. passwd -l lynn ...
最新文章
- 精通python能干什么-Python学到什么程度才算精通?天津Python培训
- 基于注释的Spring Security实战
- 图像处理常用边缘检测算子
- Linux运维工程师面试-部分题库
- 释放广域网潜能的“简单”之道
- 电脑基础操作_学电脑到万科!怀集万科电脑培训2019全面招生!
- 【转载】究竟什么是POJO?
- Redis字符串类型的操作
- Rust: 如何在Windows下Atom中配置Rust环境?
- 那些年学java遇到的好东西
- 计算机报考电子邮箱格式,电子邮箱格式怎么写
- 跨平台应用开发进阶(四) :uni-app 实现上传图片
- 如何在Mac终端删除U盘的隐藏文件
- 云计算 原理与实践期末复习
- 疫情可视化(visualization)
- 机器学习中的数据级联:被低估的数据,被高估的模型
- 【源码学习】正则表达式
- 什么是服务器?服务器有哪几种类型?
- i3 10100f和i5 9400f哪个好?
- zzuli303(奇葩26进制转换)