目次
接入脚本interface.php实现代码,脚本interface.php
什是SP接入代码
接入代码是什
ホームページ php教程 php手册 接入脚本interface.php实现代码,脚本interface.php

接入脚本interface.php实现代码,脚本interface.php

Jun 13, 2016 am 09:25 AM
コード 成し遂げる アクセス 脚本

接入脚本interface.php实现代码,脚本interface.php

 

承接上文的WeChatCallBack

    在WeChatCallBack类的成员变量中定义了各种消息都会有的字段,这些字段在init函数中赋值。同时也把解析到的XML对象作为这个类的成员变量$_postObject并在init中赋值,目的是在实现具体公众账号的业务逻辑时,具体的各类消息的特殊字段可以通过它来获取。

    process函数时实现具体公众账号的业务逻辑时需要重载的函数,默认的实现是返回一个“未实现”的错误提示。

 

  本文的重点是接入脚本,接入脚本是项目根目录的interface.php,其代码清单如下文所示:

  

  require_once dirname(__FILE__) . '/common/GlobalFunctions.php';

  function checkSingnature()

  {

    $signature = $_GET["signature"];

    $timestamp = $_GET["timestamp"];

    $nonce = $_GET["nonce"];

 

    $token = WEIXIN_TOKEN;

    $tmpArr = array($token, $timestamp, $nonce);

    sort($tmpArr);

    $tmpStr = implode( $tmpArr );

    $tmpStr = shal( $tmpStr );

 

    if( $tmpStr == $signature ) {

      return true;

    } else {

      return false;

    }

  }

 

  if(checkSignature()) {

    if($_GET["echostr"]) {

      echo $_GET["echostr"];

      exit(0);

    }

  } else {

    // 恶意请求: 获取来源IP, 并写入日志

    $ip = getIp();

    interface_log(ERROR, EC_OTHER, 'malicious: ' . $ip);

    exit(0);

  }

 

  function getWeChatObj($toUserName) {

    if($toUserName == USERNAME_FINDFACE) {

      require_once dirname(__FILE__) . '/class/

      WeChatCallBackMeiri10futu.php' ;

      return new WeChatCallBackMeir10futu();

    }

    if($toUserName == USERNAME_MR)  {

      require_once dirname(__FILE__) . '/class/

      WeChatCallBackMeir10futu.php' ;

      return new WeChatCallBackMeir10futu();

    }

    if($toUserName == USERNAME_ES) {

      require_once dirname(__FILE__) . '/class/

      WeChatCallBackEchoServer.php' ;

      return new WeChatCallBackEchoServer();

    }

    require_once dirname(__FILE__) . '/class/WeChatCallBcak.php' ;

    return new WeChatCallBack();

  }

  function exitErrorInput() {

    echo 'error input!' ;

    interface_log(INFO, EC_OK, "***** interface request end ******") ;

    interface_log(INFO, EC_OK, "********************** ******") ;

    interface_log(INFO, EC_OK, "") ;

    exit( 0 );

  }

 

  $postStr = file_get_contents ( "php://input" );

  

  interface_log(INFO, EC_OK, "");

  interface_log(INFO, EC_OK, "*****************************");

  interface_log(INFO, EC_OK, "***** interface request start *****");

  interface_log(INFO, EC_OK, 'request: '  .  var_export($_GET, ture)) ;

 

  if (empty ( $postStr )) {

    interface_log ( ERROR, EC_OK, "error input!" );

    exitErrorInput();

  }

  // 获取参数

  $postObj = simplexml_load_string  ( $postStr,  'SimpleXMLElement',

  LIBXML_NOCDATA ) ;

  $toUserName = ( string ) trim ( $postObj->ToUserName ) ;

  if (! $toUserName) {

    interface_log ( ERROR, EC_OK, "error input!" ) ;

    exitErrorInput() ;

  } else {

    $wechatObj = getWeChatObj ( $ toUserName ) ;

  }

  retStr = $ wechatObj->process ();

  interface_log(INFO, EC_OK, "***** interface request end *****") ;

  interface_log(INFO, EC_OK, "****************************") ;

  interface_log(INFO, EC_OK, "");

 

  ?>

 

  Interface.php逻辑描述:

  1.使用checkSignature函数验证请求是否合法,在不合法的情况下,记录恶意的来源IP。

  2.获取POST数据,解析XML数据,根据ToUserName来决定是发往哪一个公众账号的消息,然后加载对应的文件,获得对应的对象(getWeChatObj函数)。

  3.调用对象的init函数初始化对象。

  4.调用对象的process函数处理公众账号逻辑,得到返回消息字符串。

  5.返回消息。

 

  获取来源IP函数:

  function getIp () 

  {

    if (isset($_SERVER)) {

        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {

            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"] ;

        } else if (isser($_SERVER["HTTP_CLIENT_IP"]))  {

            $realip = $_SERVER["HTTP_CLIENT_IP"] ;

        } else {

            $realip = $SERVER["REMOTE_ADDR"];

        }

    } else {

        if (getenv(""HTTP_X_FORWARDED_FOR")) {

            $realip = getenv("HTTP_X_FORWARDED_FOR") ;

        } else if (getenv("HTTP_CLIENT_IP")) {

            $realip = getenv("HTTP_CLIENT_IP") ;

        } else {

            $realip = getenv("REMOVE_ADDR") ;

        }

    }

    return $realip;

  }

 

___________over____________

 

什是SP接入代码

是第二类增值电信业务中的移动网信息服务业务的短消息接入代码,分为全网和地网两类,其中全网sp接入代码为1066开头的全网经营性sp接入代码,和1069开头的全网非经营性sp接入代码;地网sp接入代码分为1062开头经营性和1063开头非经营性。全网sp接入代码的申请机构是工业和信息化部,地网接入代码的申请机构是地方的通信管理局,那么申请sp接入代码需要提交哪些资料呢? sp接入代码申请材料1、短消息类服务接入代码申请报告(号码位长、适用范围、联系人联系电话);2、短消息类服务接入代码(省内使用)申请表;3、短消息类服务接入代码使用承诺书;4、增值电信业务经营许可证(业务类别:短信息服务)原件及复印件;5、营业执照副本原件及复印件;6、技术方案、业务规划等。
 

接入代码是什

每个地区的接入代码是不同的
你只能拨打10086转人工服务了
或者你告诉我电话号码归属地才能帮你查询!
 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

編集用のスクリプトを作成するにはどうすればよいですか?編集によるスクリプトの作成方法のチュートリアル 編集用のスクリプトを作成するにはどうすればよいですか?編集によるスクリプトの作成方法のチュートリアル Mar 13, 2024 pm 12:46 PM

Cutting は、包括的な編集機能、可変速度のサポート、さまざまなフィルターや美容効果、豊富な音楽ライブラリ リソースを備えたビデオ編集ツールです。このソフトでは動画を直接編集したり、編集スクリプトを作成したりすることができますが、どのように行うのですか?このチュートリアルでは、エディターがスクリプトを編集および作成する方法を紹介します。作成方法: 1. コンピュータ上で編集ソフトウェアをクリックして開き、「作成スクリプト」オプションを見つけてクリックして開きます。 2. 作成台本ページで「台本タイトル」を入力し、概要に撮影内容の簡単な紹介文を入力します。 3. アウトラインに「ストーリーボードの説明」オプションを表示するにはどうすればよいですか?

ブルースクリーンコード0x0000001が発生した場合の対処方法 ブルースクリーンコード0x0000001が発生した場合の対処方法 Feb 23, 2024 am 08:09 AM

ブルー スクリーン コード 0x0000001 の対処法。ブルー スクリーン エラーは、コンピューター システムまたはハードウェアに問題がある場合の警告メカニズムです。コード 0x0000001 は、通常、ハードウェアまたはドライバーの障害を示します。ユーザーは、コンピュータの使用中に突然ブルー スクリーン エラーに遭遇すると、パニックになり途方に暮れるかもしれません。幸いなことに、ほとんどのブルー スクリーン エラーは、いくつかの簡単な手順でトラブルシューティングして対処できます。この記事では、ブルー スクリーン エラー コード 0x0000001 を解決するいくつかの方法を読者に紹介します。まず、ブルー スクリーン エラーが発生した場合は、再起動を試みることができます。

Linuxシステムで.shファイルを実行するにはどうすればよいですか? Linuxシステムで.shファイルを実行するにはどうすればよいですか? Mar 14, 2024 pm 06:42 PM

Linuxシステムで.shファイルを実行するにはどうすればよいですか? Linux システムでは、.sh ファイルはシェル スクリプトと呼ばれるファイルであり、一連のコマンドを実行するために使用されます。 .sh ファイルの実行は非常に一般的な操作です。この記事では、Linux システムで .sh ファイルを実行する方法と具体的なコード例を紹介します。方法 1: 絶対パスを使用して .sh ファイルを実行する Linux システムで .sh ファイルを実行するには、絶対パスを使用してファイルの場所を指定できます。具体的な手順は次のとおりです。 ターミナルを開きます。

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?ソーシャルメディアの台頭により、WeChatは人々の日常生活に欠かせないコミュニケーションツールの1つになりました。ただし、多くの人は、同じ携帯電話で同時に複数の WeChat アカウントにログインするという問題に遭遇する可能性があります。 Huawei 社の携帯電話ユーザーにとって、WeChat の二重ログインを実現することは難しくありませんが、この記事では Huawei 社の携帯電話で WeChat の二重ログインを実現する方法を紹介します。まず第一に、ファーウェイの携帯電話に付属するEMUIシステムは、デュアルアプリケーションを開くという非常に便利な機能を提供します。アプリケーションのデュアルオープン機能により、ユーザーは同時に

あらゆるデバイス上の GE ユニバーサル リモート コード プログラム あらゆるデバイス上の GE ユニバーサル リモート コード プログラム Mar 02, 2024 pm 01:58 PM

デバイスをリモートでプログラムする必要がある場合は、この記事が役に立ちます。あらゆるデバイスをプログラミングするためのトップ GE ユニバーサル リモート コードを共有します。 GE リモコンとは何ですか? GEUniversalRemote は、スマート TV、LG、Vizio、Sony、Blu-ray、DVD、DVR、Roku、AppleTV、ストリーミング メディア プレーヤーなどの複数のデバイスを制御するために使用できるリモコンです。 GEUniversal リモコンには、さまざまな機能を備えたさまざまなモデルがあります。 GEUniversalRemote は最大 4 台のデバイスを制御できます。あらゆるデバイスでプログラムできるトップのユニバーサル リモート コード GE リモコンには、さまざまなデバイスで動作できるようにするコードのセットが付属しています。してもいいです

初心者向けの Windows PowerShell スクリプト チュートリアル 初心者向けの Windows PowerShell スクリプト チュートリアル Mar 13, 2024 pm 10:55 PM

この Windows PowerShell スクリプト チュートリアルは、テクノロジ愛好家でも、スクリプト スキルの向上を目指す専門家でも、初心者向けに設計されています。 PowerShell スクリプトに関する予備知識がない場合は、この記事は基本から始めて、あなたに合わせてカスタマイズしてください。 PowerShell 環境のインストール手順をマスターし、PowerShell スクリプトの主な概念と機能を説明します。 PowerShell スクリプトについてさらに学ぶ準備ができている場合は、このエキサイティングな学習の旅に一緒に乗り出しましょう。 WindowsPowerShell とは何ですか? PowerShell は、Microsoft によって開発されたハイブリッド コマンド システムです。

Huawei携帯電話にWeChatクローン機能を実装する方法 Huawei携帯電話にWeChatクローン機能を実装する方法 Mar 24, 2024 pm 06:03 PM

Huawei 携帯電話に WeChat クローン機能を実装する方法 ソーシャル ソフトウェアの人気と人々のプライバシーとセキュリティの重視に伴い、WeChat クローン機能は徐々に人々の注目を集めるようになりました。 WeChat クローン機能を使用すると、ユーザーは同じ携帯電話で複数の WeChat アカウントに同時にログインできるため、管理と使用が容易になります。 Huawei携帯電話にWeChatクローン機能を実装するのは難しくなく、次の手順に従うだけです。ステップ 1: 携帯電話システムのバージョンと WeChat のバージョンが要件を満たしていることを確認する まず、Huawei 携帯電話システムのバージョンと WeChat アプリが最新バージョンに更新されていることを確認します。

PHP プログラミング ガイド: フィボナッチ数列を実装する方法 PHP プログラミング ガイド: フィボナッチ数列を実装する方法 Mar 20, 2024 pm 04:54 PM

プログラミング言語 PHP は、さまざまなプログラミング ロジックやアルゴリズムをサポートできる、Web 開発用の強力なツールです。その中でも、フィボナッチ数列の実装は、一般的で古典的なプログラミングの問題です。この記事では、PHP プログラミング言語を使用してフィボナッチ数列を実装する方法を、具体的なコード例を添付して紹介します。フィボナッチ数列は、次のように定義される数学的数列です。数列の最初と 2 番目の要素は 1 で、3 番目の要素以降、各要素の値は前の 2 つの要素の合計に等しくなります。シーケンスの最初のいくつかの要素

See all articles