Kaedah PHP untuk melaksanakan fungsi kod pengesahan SMS melalui platform SMS

WBOY
Lepaskan: 2023-05-22 08:58:01
asal
1205 orang telah melayarinya

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:

  1. Kestabilan

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.

  1. Harga

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.

  1. Fungsi yang disokong

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:

  1. Pasang pustaka PHP CURL

PHP perlu menggunakan perpustakaan CURL untuk menghantar permintaan HTTP . Jika ia tidak dipasang Perlu memasang terlebih dahulu.

  1. Tulis fungsi untuk menghantar kod pengesahan SMS

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;
  }
}
Salin selepas log masuk

$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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan