Rumah >pembangunan bahagian belakang >masalah PHP >Satu contoh menerangkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS

Satu contoh menerangkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS

PHPz
PHPzasal
2023-04-04 19:49:571307semak imbas

Dalam era Internet hari ini, kod pengesahan SMS digunakan secara meluas dalam senario pengesahan identiti seperti pelbagai tapak web, aplikasi dan pelanggan mudah alih. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS.

Pelaksanaan kod pengesahan SMS dibahagikan kepada tiga langkah: menjana kod pengesahan SMS, menghantar kod pengesahan SMS ke telefon mudah alih pengguna dan mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah betul.

Langkah Pertama: Jana Kod Pengesahan SMS

Untuk menjana kod pengesahan SMS, kita perlu menggunakan fungsi rand() dalam PHP untuk menjana nombor rawak 4 digit. Simpan nombor rawak ini dalam sesi supaya kami boleh menggunakannya dalam langkah seterusnya. Berikut ialah kod untuk menjana nombor rawak:

<?php
session_start();
$code = rand(1000,9999);
$_SESSION[&#39;code&#39;] = $code;
?>

Langkah 2: Hantar kod pengesahan SMS ke telefon bimbit pengguna

Menghantar kod pengesahan SMS ke telefon bimbit pengguna memerlukan penggunaan API platform SMS pihak ketiga. Dalam artikel ini, kami akan menggunakan platform SMS Platform Terbuka Internet Mudah Alih China.

Kita perlu mendaftar akaun pembangun terlebih dahulu, kemudian buat aplikasi dan dapatkan Kunci Akses dan Rahsia Akses untuk aplikasi itu. Kemudian, kami menggunakan fungsi curl dalam PHP untuk menghantar permintaan API ke Platform Terbuka Internet Mudah Alih China untuk menghantar kod pengesahan SMS ke telefon mudah alih pengguna. Berikut ialah kod untuk menghantar kod pengesahan SMS:

<?php
$appkey = &#39;你的 Access Key&#39;;
$appsecret = &#39;你的 Access Secret&#39;;
$code = $_SESSION[&#39;code&#39;];
$phone = &#39;用户手机号码&#39;;
$url = &#39;http://gw.api.open.mob.com/sms/sendmsg?appkey=&#39; . $appkey . &#39;&appsecret=&#39; . $appsecret . &#39;&mobile=&#39; . $phone . &#39;&msg=&#39; . urlencode(&#39;【签名】您的验证码为:&#39; . $code . &#39;,该验证码将在10分钟内失效。&#39;);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$output = curl_exec($ch);
curl_close($ch);
?>

Dalam kod tersebut, kami mula-mula menetapkan Kunci Akses, Rahsia Akses, nombor telefon mudah alih pengguna dan templat SMS. Kami kemudian menyambungkan parameter ini ke dalam URL permintaan dan menggunakan fungsi curl untuk menghantar permintaan ke platform SMS.

Langkah 3: Sahkan bahawa kod pengesahan yang dimasukkan oleh pengguna adalah betul

Selepas pengguna menerima kod pengesahan SMS, masukkannya ke dalam laman web atau aplikasi untuk pengesahan. Kita perlu membandingkan kod pengesahan yang dimasukkan oleh pengguna dengan kod pengesahan yang disimpan dalam sesi. Berikut ialah kod untuk mengesahkan kod pengesahan SMS:

<?php
session_start();
$code = $_SESSION[&#39;code&#39;];
$input = $_POST[&#39;code&#39;];
if ($code == $input) {
    echo &#39;验证码正确&#39;;
} else {
    echo &#39;验证码错误&#39;;
}
?>

Dalam kod ini, kami mula-mula mendapat kod pengesahan yang disimpan dalam sesi dan kod pengesahan yang dimasukkan oleh pengguna. Jika kedua-dua kod pengesahan adalah sama, ini bermakna kod pengesahan yang dimasukkan oleh pengguna adalah betul.

Ringkasan

Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS. Kami menggunakan fungsi rand() untuk menjana nombor rawak, menggunakan fungsi curl untuk menghantar kod pengesahan SMS ke telefon mudah alih pengguna, menggunakan sesi untuk menyimpan kod pengesahan dan menggunakan operator perbandingan untuk mengesahkan sama ada kod pengesahan dimasukkan oleh pengguna betul. Kod pengesahan SMS ialah kaedah pengesahan identiti yang mudah, pantas dan berkesan, yang boleh menghalang serangan berniat jahat secara berkesan dan melindungi privasi dan keselamatan pengguna.

Atas ialah kandungan terperinci Satu contoh menerangkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn