作成プロセスには署名検証が必要で、これについては次のように説明します。
パブリック プラットフォームのユーザーが情報を送信した後、GET リクエストの形式で入力された URL をリクエストし、4 つのパラメーターを渡します:
* 署名 — WeChat 暗号化された署名
* タイムスタンプ — タイムスタンプ
* nonce — 乱数
* echostr — ランダムな文字列
開発者は、署名をチェックすることで URL アクセスの合法性を検証します。この GET リクエストが echostr パラメータの内容をそのまま返すとアクセスが有効となり、それ以外の場合はアクセスが失敗します。検証署名は、開発者によって入力されたトークン パラメーター、タイムスタンプ パラメーター、およびノンス パラメーターと結合されます。暗号化プロセスは次のとおりです。
* トークン、タイムスタンプ、およびノンスの 3 つのパラメーターを辞書順に並べ替えます
* 3 つのパラメーターを結合します。文字列を 1 文字にまとめます 文字列は SHA1 で暗号化されています
* 開発者が取得した暗号化された文字列を署名と比較することで、リクエストが WeChat からのものであることを示すことができます。
コード:
<? $signature = $_GET['signature']; $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return $_GET['echostr']; }else{ return false; } ?>
ただし、WeChat はデータの送信に json を使用しません:
そのため、XML データをオブジェクトとしてロードするには simplexml_load_string を使用する必要があります。また、POST メソッドが urlencode ではないことがわかりました。 HTTP_RAW_POST_DATA を設定すると、データを読み取ることができます。
ToUserName はメッセージ受信者の WeChat ID で、通常はパブリック プラットフォームの WeChat アカウントがメッセージ送信者の WeChat ID です。
以上がWeChat インターフェース開発の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









