Dengan peningkatan populariti Internet mudah alih dan telefon mudah alih, kod pengesahan SMS telah menjadi cara pengesahan keselamatan yang penting. Semasa pendaftaran tapak web, log masuk, mendapatkan kata laluan dan operasi lain, pengguna selalunya perlu memasukkan kod pengesahan SMS yang diterima untuk menyelesaikan operasi. Hari ini kami akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS melalui platform SMS.
1 Pilih platform SMS
Sebelum mengaktifkan fungsi kod pengesahan SMS PHP, anda perlu memilih platform SMS terlebih dahulu. Terdapat banyak platform SMS di pasaran untuk dipilih, seperti YimeiSoftStone, Komunikasi Awan Ronglian, Yunpian.com, dsb. Apabila memilih platform, anda perlu mengambil kira faktor berikut:
Kestabilan platform SMS adalah sangat penting Jika masalah seperti kegagalan penghantaran SMS dan kelewatan sering berlaku, Ia akan membawa pengalaman yang sangat buruk kepada pengguna malah menjejaskan pengalaman pengguna.
Harga platform SMS yang berbeza sangat berbeza, dan anda perlu memilih mengikut keperluan dan bajet anda sendiri. Secara umumnya, platform dengan saluran penghantaran SMS bebasnya sendiri adalah lebih mahal, tetapi kestabilan dan kadar kejayaan penghantarannya selalunya lebih tinggi.
Sesetengah platform boleh menyediakan antara muka API yang berkuasa, yang boleh melaksanakan kod pengesahan SMS dan SMS pemasaran, kod pengesahan suara dengan mudah dan fungsi lain, sesetengah platform hanya menyediakan antara muka penghantaran SMS yang ringkas.
Apabila memilih platform pemesejan teks, anda perlu mempertimbangkan faktor di atas berdasarkan situasi sebenar anda dan pilih platform yang sesuai dengan anda.
2. Daftar akaun dan dapatkan kunci API
Selepas memilih platform SMS, anda perlu mendaftar akaun pada platform terlebih dahulu dan dapatkan kunci API, yang boleh digunakan untuk membuat panggilan platform dalam antara muka PHP.
Semasa proses mendaftar akaun, anda perlu memberikan maklumat syarikat yang berkaitan, seperti nama syarikat, sijil, dsb. Kemudian anda perlu mengesahkan kod pengesahan SMS atau menggunakan kaedah lain untuk pengesahan identiti untuk melengkapkan pendaftaran akaun.
Selepas melengkapkan pendaftaran akaun, anda perlu membuat aplikasi yang sepadan pada platform Dalam proses mencipta aplikasi, anda secara amnya perlu memberikan nama aplikasi, penerangan aplikasi, tandatangan SMS dan maklumat lain, dan anda perlu memohon untuk mendapatkan kunci API di latar belakang .
3. Panggil antara muka penghantaran SMS di latar belakang
Selepas mendapatkan kunci API, anda boleh menulis kod PHP di latar belakang dan memanggil antara muka yang disediakan oleh platform SMS untuk melaksanakan pengesahan SMS fungsi penghantaran kod. Mengambil Yunpian.com sebagai contoh, berikut ialah kaedah pelaksanaan khusus:
PHP perlu menggunakan perpustakaan CURL untuk menghantar permintaan HTTP . Jika ia tidak dipasang Perlu memasang terlebih dahulu.
Tulis fungsi untuk menghantar kod pengesahan SMS dan merangkumnya ke dalam kelas agar mudah digunakan semula dalam program. Berikut ialah contoh kod:
<?php class SmsHelper{ private static $apiUrl = 'https://sms.yunpian.com/v2/sms/single_send.json'; //短信发送接口地址 private static $apiKey = 'xxxx'; //API 密钥,需要替换成自己的 /** * 发送短信验证码 * @param $mobile 手机号码 * @param $code 验证码 * @return bool */ public static function sendVerifyCode($mobile, $code){ $postData = [ 'apikey' => self::$apiKey, 'mobile' => $mobile, 'text' => '【签名】您的验证码是'.$code.'。' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, self::$apiUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded', 'charset=utf-8')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不校验 SSL 证书 $result = curl_exec($ch); $error = curl_error($ch); curl_close($ch); if($result === false || !empty($error)) return false; $json = @json_decode($result, true); if(!is_array($json)) return false; return !empty($json['code']) && $json['code'] == 0; } }
$apiUrl dan $apiKey dalam kod masing-masing ialah alamat antara muka penghantaran SMS dan kunci API yang disediakan oleh platform SMS, dan perlu digantikan dengan nilai yang disediakan oleh platform anda sendiri. Dalam fungsi yang menghantar kod pengesahan SMS, dua parameter, nombor telefon mudah alih dan kod pengesahan, perlu dimasukkan. Mengembalikan benar jika berjaya dan salah jika gagal.
4. Laksanakan fungsi kod pengesahan pada halaman hujung hadapan
Selepas memanggil API platform SMS melalui latar belakang untuk menghantar kod pengesahan SMS, anda juga perlu menghubungi latar belakang antara muka pada halaman hujung hadapan untuk melengkapkan penghantaran dan pengesahan ujian pengesahan.
Cara untuk menghantar kod pengesahan secara amnya adalah dengan menyerahkan nombor telefon mudah alih pada halaman, dan hubungi fungsi yang tertulis di atas untuk menghantar kod pengesahan SMS di latar belakang untuk menghantar kod pengesahan. Pengesahan kod pengesahan boleh dilaksanakan pada halaman Selepas pengguna memasukkan kod pengesahan, antara muka latar belakang dipanggil melalui AJAX untuk pengesahan dan maklumat segera yang sepadan diberikan.
Apabila mengesahkan kod pengesahan, anda perlu memberi perhatian untuk mencegah leretan berniat jahat dan mengehadkan bilangan ralat. Anda boleh menghalang perkara ini dengan menetapkan masa sah kod pengesahan SMS, bilangan maksimum kod pengesahan yang dihantar dalam satu masa dan had akses IP.
5. Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari secara terperinci cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan SMS melalui platform SMS. Sudah tentu, ini hanyalah satu kaedah pelaksanaan, dan terdapat pilihan lain untuk dipilih, seperti menggunakan SMS SDK, memanggil gerbang SMS, dsb. Dalam projek sebenar, anda perlu mempertimbangkan secara menyeluruh keperluan dan belanjawan sebenar untuk memilih penyelesaian yang sesuai dengan anda.
Atas ialah kandungan terperinci Kaedah PHP untuk melaksanakan fungsi kod pengesahan SMS melalui platform SMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!