接入脚本interface.php实现代码,脚本interface.php
接入脚本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接入代码为1066开头的全网经营性sp接入代码,和1069开头的全网非经营性sp接入代码;地网sp接入代码分为1062开头经营性和1063开头非经营性。全网sp接入代码的申请机构是工业和信息化部,地网接入代码的申请机构是地方的通信管理局,那么申请sp接入代码需要提交哪些资料呢? sp接入代码申请材料1、短消息类服务接入代码申请报告(号码位长、适用范围、联系人联系电话);2、短消息类服务接入代码(省内使用)申请表;3、短消息类服务接入代码使用承诺书;4、增值电信业务经营许可证(业务类别:短信息服务)原件及复印件;5、营业执照副本原件及复印件;6、技术方案、业务规划等。
每个地区的接入代码是不同的
你只能拨打10086转人工服务了
或者你告诉我电话号码归属地才能帮你查询!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pemotongan ialah alat penyuntingan video dengan fungsi penyuntingan yang komprehensif, sokongan untuk kelajuan berubah-ubah, pelbagai penapis dan kesan kecantikan serta sumber perpustakaan muzik yang kaya. Dalam perisian ini, anda boleh mengedit video secara terus atau membuat skrip penyuntingan, tetapi bagaimana untuk melakukannya? Dalam tutorial ini, editor akan memperkenalkan kaedah menyunting dan membuat skrip. Kaedah pengeluaran: 1. Klik untuk membuka perisian penyuntingan pada komputer anda, kemudian cari pilihan "Skrip Penciptaan" dan klik untuk membuka. 2. Dalam halaman skrip kreatif, masukkan "tajuk skrip", dan kemudian masukkan pengenalan ringkas kepada kandungan penggambaran dalam garis besar. 3. Bagaimanakah saya boleh melihat pilihan "Penerangan Papan Cerita" dalam garis besar?

Apa yang perlu dilakukan dengan kod skrin biru 0x0000001 Ralat skrin biru adalah mekanisme amaran apabila terdapat masalah dengan sistem komputer atau perkakasan Kod 0x0000001 biasanya menunjukkan kegagalan perkakasan. Apabila pengguna tiba-tiba mengalami ralat skrin biru semasa menggunakan komputer mereka, mereka mungkin berasa panik dan rugi. Nasib baik, kebanyakan ralat skrin biru boleh diselesaikan dan ditangani dengan beberapa langkah mudah. Artikel ini akan memperkenalkan pembaca kepada beberapa kaedah untuk menyelesaikan kod ralat skrin biru 0x0000001. Pertama, apabila menghadapi ralat skrin biru, kita boleh cuba untuk memulakan semula

Bagaimana untuk melaksanakan fail .sh dalam sistem Linux? Dalam sistem Linux, fail .sh ialah fail yang dipanggil skrip Shell, yang digunakan untuk melaksanakan satu siri arahan. Melaksanakan fail .sh ialah operasi yang sangat biasa Artikel ini akan memperkenalkan cara melaksanakan fail .sh dalam sistem Linux dan memberikan contoh kod khusus. Kaedah 1: Gunakan laluan mutlak untuk melaksanakan fail .sh Untuk melaksanakan fail .sh dalam sistem Linux, anda boleh menggunakan laluan mutlak untuk menentukan lokasi fail. Berikut ialah langkah khusus: Buka terminal

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Jika anda perlu memprogramkan sebarang peranti dari jauh, artikel ini akan membantu anda. Kami akan berkongsi kod jauh universal GE teratas untuk pengaturcaraan sebarang peranti. Apakah alat kawalan jauh GE? GEUniversalRemote ialah alat kawalan jauh yang boleh digunakan untuk mengawal berbilang peranti seperti TV pintar, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, pemain media penstriman dan banyak lagi. Alat kawalan jauh GEUniversal datang dalam pelbagai model dengan fungsi dan keupayaan yang berbeza. GEUniversalRemote boleh mengawal sehingga empat peranti. Kod Jauh Universal Teratas untuk Diprogramkan pada Mana-mana Peranti Alat kawalan jauh GE disertakan dengan set kod yang membolehkannya berfungsi dengan peranti yang berbeza. anda boleh

Kami telah mereka bentuk tutorial skrip Windows PowerShell ini untuk pemula, sama ada anda peminat teknologi atau profesional yang ingin meningkatkan kemahiran skrip anda. Jika anda tidak mempunyai pengetahuan awal tentang skrip PowerShell, artikel ini akan bermula dengan asas dan disesuaikan untuk anda. Kami akan membantu anda menguasai langkah pemasangan untuk persekitaran PowerShell dan membimbing anda melalui konsep dan ciri utama skrip PowerShell. Jika anda bersedia untuk mengetahui lebih lanjut tentang skrip PowerShell, mari kita mulakan perjalanan pembelajaran yang menarik ini bersama-sama! Apakah WindowsPowerShell? PowerShell ialah sistem arahan hibrid yang dibangunkan oleh Microsoft

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan
