Weichatcallbackapi.php 823 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Titan 名字就是密码
  5. * Date: 2019/12/13
  6. * Time: 11:19
  7. */
  8. namespace app\index\controller;
  9. define("TOKEN","titan666");
  10. class Weichatcallbackapi
  11. {
  12. public function valid()
  13. {
  14. $echoStr = $_GET["echostr"];
  15. //valid signature , option
  16. if($this->checkSignature()){
  17. echo $echoStr;
  18. exit;
  19. }
  20. }
  21. private function checkSignature()
  22. {
  23. $signature = $_GET["signature"];
  24. $timestamp = $_GET["timestamp"];
  25. $nonce = $_GET["nonce"];
  26. $token = TOKEN;
  27. $tmpArr = array($token, $timestamp, $nonce);
  28. sort($tmpArr, SORT_STRING);
  29. $tmpStr = implode( $tmpArr );
  30. $tmpStr = sha1( $tmpStr );
  31. if ($tmpStr == $signature ) {
  32. return true;
  33. } else {
  34. return false;
  35. }
  36. }
  37. }