php微信服务端的接口程序
2015-08-03 16:56
931 查看
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2015/8/3
* Time: 15:14
*/
$token='weixin';//这里的token是在微信接口配置的token
$wechatApi = new WechatApi($token);
if (isset($_GET['echostr'])) {
$wechatApi->valid();
}else{
echo "meiyoushezhi";
}
class WechatApi
{
private $token;
public function __construct($token)
{
$this->token = $token;
}
public function valid()
{
$response = false;
$echoStr = $_GET["echostr"];
//valid signature , option
if ($this->checkSignature()) {
$response = $echoStr;
}
echo $response;
}
public function buildSignUrl($apiUrl, $params=array())
{
$url = $apiUrl;
$token = $this->token;
$timestamp = "13123123";
$nonce = 'asdad';
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$signature = sha1($tmpStr);
$data = array_merge(array('signature' => $signature, 'timestamp' => $timestamp, 'nonce' => $nonce), $params);
if (strpos($url, '?')) $url .= '&' . http_build_query($data);
else $url .= '?' . http_build_query($data);
return $url;
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = array($this->token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2015/8/3
* Time: 15:14
*/
$token='weixin';//这里的token是在微信接口配置的token
$wechatApi = new WechatApi($token);
if (isset($_GET['echostr'])) {
$wechatApi->valid();
}else{
echo "meiyoushezhi";
}
class WechatApi
{
private $token;
public function __construct($token)
{
$this->token = $token;
}
public function valid()
{
$response = false;
$echoStr = $_GET["echostr"];
//valid signature , option
if ($this->checkSignature()) {
$response = $echoStr;
}
echo $response;
}
public function buildSignUrl($apiUrl, $params=array())
{
$url = $apiUrl;
$token = $this->token;
$timestamp = "13123123";
$nonce = 'asdad';
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$signature = sha1($tmpStr);
$data = array_merge(array('signature' => $signature, 'timestamp' => $timestamp, 'nonce' => $nonce), $params);
if (strpos($url, '?')) $url .= '&' . http_build_query($data);
else $url .= '?' . http_build_query($data);
return $url;
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = array($this->token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}
相关文章推荐
- 微信支付里的一个问题
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经
- 微信文章阅读数点赞数查询API接口及实现(小数据量)
- 一天破万:二十一个微信公众号推广技巧(终结版)
- Android微信抢红包外挂 源代码
- 微信开发总结 六
- 微信开发总结 五
- 微信开发总结 四
- 每天一个小程序——选择排序时的一个小问题!
- 微信开发总结 三
- 微信开发总结 二
- 微信开发总结 一
- 微信开发总结
- 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经(转)
- Android 微信下拉眼睛
- android 微信支付直接跳转结果
- Java微信公众号支付
- 如何利用事件营销一天获得35万微信粉丝
- 微信公众平台开发(十二) 发送客服消息
- 微信公众平台开发(73) 客服接口发送客服消息