token格式不对医保撤销
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了token格式不对医保撤销相关的知识,希望对你有一定的参考价值。
Token格式不对医保是需要撤销的,因为我们并没有按照正确的格式进行上传,所以说这个时候医保是没有我们这个信息录入的,所以说医保是会撤销的 参考技术A 因为这里医保显示token格式是错误的,因为网络波动而网络较差而导致了token格式不对医保撤销php:关于微信一直无法通过php token验证, ehcho echo $echoStr; 总是提示不对的问题.
用微信官方提供的demo验证token 老是失败, 但是我自己用IIS 加 .net , token就能登录成功, 后来debug, 找各种问题,总是不能解决.
最后还是再搜了搜. 找到这么一篇解决方案.原文在这里:
https://www.cnblogs.com/donlyn/p/5675483.html
解决方案:
最终在echo $_GET[\'echostr\'];前添加了一句代码ob_clean();
1 <?php 2 //设置token 3 define("TOKEN", "sohovan2"); 4 5 //新建object 6 $wechatObj = new wechatCallbackapiTest(); 7 //没有得到echostr 回声, 先验证 8 //如果不是get操作. get有没有这个echostr. 9 if (!isset($_GET[\'echostr\'])) { 10 11 }else{ 12 //如果是get操作, 并且是非空. 13 //验证消息; 14 $wechatObj->valid(); 15 } 16 17 class wechatCallbackapiTest 18 { 19 //验证消息 20 public function valid() 21 { 22 $echoStr = $_GET["echostr"]; 23 //返回的是简单,去掉参数 24 header("content-type:text;charset=utf-8"); 25 if($this->checkSignature()){ 26 ob_clean(); 27 echo $echoStr; 28 exit; 29 } 30 } 31 32 //检查签名 33 private function checkSignature() 34 { 35 $signature = $_GET["signature"]; 36 $timestamp = $_GET["timestamp"]; 37 $nonce = $_GET["nonce"]; 38 $token = TOKEN; 39 $tmpArr = array($token, $timestamp, $nonce); 40 //排序. 41 sort($tmpArr, SORT_STRING); 42 //数组的值转化成字符串. 43 $tmpStr = implode($tmpArr); 44 //sha1 45 $tmpStr = sha1($tmpStr); 46 47 if($tmpStr == $signature){ 48 return true; 49 }else{ 50 return false; 51 } 52 } 53 54 //是否是GET提交 55 public function isGet(){ 56 return $_SERVER[\'REQUEST_METHOD\'] == \'GET\' ? true : false; 57 } 58 ?>
这里面有关于php输出缓冲区, 和ob_clean() 的解释, 先没时间研究了, 感兴趣的可以仔细了解一下.
以上是关于token格式不对医保撤销的主要内容,如果未能解决你的问题,请参考以下文章