Rumah >pembangunan bahagian belakang >tutorial php >PHP Master | Pengesahan pelbagai faktor dengan PHP dan Twilio
mata teras
Sambung dengan php Menyambung ke perkhidmatan Twilio semudah termasuk perpustakaan Twilio-PhP dan mewujudkan contoh baru kelas Services_Twilio. Pembina objek ini menerima token SID dan pengesahan akaun anda yang disenaraikan di halaman papan pemuka akaun Twilio anda selepas anda mendaftarkan perkhidmatan mereka. Dengan contoh perkhidmatan_twilio yang tersedia, anda boleh mengakses APInya melalui harta akaun. Akaun mendedahkan contoh perkhidmatan_twilio_rest_account yang mewakili akaun Twilio anda. Saya hanya menggunakan satu akaun di sini, tetapi boleh mempunyai beberapa sub-akaun. Ini mungkin berguna untuk memecahkan interaksi anda berdasarkan keperluan anda. Anda boleh membaca dokumentasi Twilio untuk mengetahui lebih lanjut mengenai sub-akaun. mendedahkan beberapa sifat lain, termasuk panggilan dan sms_messages. Ini adalah contoh objek seperti Services_Twilio_Rest_Calls dan Services_twilio_rest_smsmessages yang merangkumi sumber REST yang digunakan untuk mengeluarkan panggilan dan mesej anda masing -masing. Walau bagaimanapun, anda jarang menggunakan objek ini di luar kaedah membuat (), dan dokumentasi memanggil sifat mereka mendedahkan mereka "sumber contoh". Saya akan melakukan perkara yang sama untuk membantu mengelakkan kekeliruan. Hantar mesej teks menghantar mesej SMS dilakukan melalui kaedah CREATE () Sumber Sumber Sumber SMS ($ acct- & gt; SMS_Messages). Kaedah ini menerima tiga parameter: Nombor Twilio akaun anda (sama dengan "alamat penghantar" e -mel), nombor penerima ("alamat penerima"), dan teks mesej anda (sehingga 160 aksara). Di sebalik tabir, perpustakaan Twilio-PHP membuat beberapa permintaan pos untuk Twilio API bagi pihak anda. Contoh perkhidmatan_twilio_rest_smsmessage dikembalikan oleh panggilan yang merangkumi maklumat mengenai mesej. Anda boleh melihat senarai lengkap mengenai maklumat apa yang disediakan dalam dokumentasi, tetapi mungkin nilai yang lebih penting didedahkan oleh status dan atribut harga. Status memaparkan status mesej teks (beratur, dihantar, dihantar atau gagal), sementara harga memaparkan jumlah mesej yang dikenakan untuk akaun anda. Hantar panggilan suara Memulakan panggilan suara dilakukan melalui kaedah CREATE () Sumber Contoh Panggilan ($ acct- & gt; panggilan). Seperti menghantar mesej teks, anda perlu memberikan nombor akaun, nombor penerima, dan mesej anda. Walau bagaimanapun, dalam kes ini, mesej itu adalah URL dokumen TWIML yang menerangkan sifat panggilan. sekali lagi membuat permintaan pos bagi pihak anda dan membuat panggilan suara. Apabila orang yang dipanggil menjawab panggilan, proses Twilio akan mengambil dan melaksanakan perintah yang disediakan dalam XML URL panggil balik. Dalam contoh memulakan panggilan suara di atas, saya telah lulus kod pengesahan sebagai parameter GET ke URL skrip panggil balik. Apabila Twilio mengambil URL, PHP menggunakan parameter ini apabila memberikan respons. Membina aliran panggilan hanya memerlukan sebilangan kecil tag twiml, tetapi anda boleh menggunakannya untuk menentukan proses yang agak kompleks (seperti menu pokok telefon, dan lain -lain). Walau bagaimanapun, aliran panggilan asas untuk senario sedemikian boleh dihasilkan oleh PHP, seperti yang ditunjukkan di bawah: Tag Twiml yang digunakan di sini adalah tindak balas (elemen akar), katakan (menyediakan teks Twilio akan berkata), dan Kumpulkan (mengumpul input pengguna). Apabila mengucapkan teks yang ditunjukkan oleh elemen kanak -kanak, Twilio juga akan mendengar input pengguna kerana berkumpul dan berhenti sejenak selama lima saat supaya pengguna dapat memasukkan respons mereka. Sekiranya berkumpul tanpa input, ia keluar dan melaksanakan teks berikutnya dan menamatkan panggilan. Jika tidak, input akan dihantar kembali ke URL tindakan melalui pos untuk pemprosesan selanjutnya. Dokumentasi Twilio Gather sangat baik untuk menerangkan tingkah laku dan sifat elemen yang boleh anda gunakan untuk mengubah suai tingkah laku, dan juga menyenaraikan beberapa contoh. Saya cadangkan anda membacanya dengan cepat. Sebelum meneruskan, ada satu lagi perkara yang perlu diperhatikan; Ini memaksa synthesizer ucapan untuk menyebut satu demi satu, mengatakan "satu dua tiga empat" bukannya "seribu dua ratus tiga puluh empat". Untuk sintesis pertuturan, kadang -kadang apa yang kita lihat dalam teks tidak selalu apa yang kita dapat. Sekiranya ia membawa kejelasan dan pemahaman yang lebih baik kepada Callee anda, adalah baik untuk mengubah suai atau merindui perbualan sebutan. Melaksanakan pengesahan multi-faktor Sekarang anda telah mempelajari aliran kerja asas untuk SMS dan interaksi suara dengan Twilio, sudah tiba masanya untuk melihat bagaimana ia sesuai dengan proses log masuk. Apa yang anda lihat di sini sangat mudah dan mudah, dan untuk kejelasan saya telah mengurangkan kod yang disertakan, kerana butiran proses log masuk anda sendiri terikat. Borang log masuk untuk memulakan proses hendaklah dipaparkan kepada pengguna. Borang penyerahan menyebabkan anda mengesahkan kelayakan mereka dan menolak kelayakan yang tidak sah, tetapi kelayakan yang sah tidak boleh segera mengesahkan pengguna ke aplikasi anda. Sebaliknya, merawat pengguna sebagai "disahkan sebahagiannya", yang merupakan keadaan yang membolehkannya melihat bentuk kedua kod yang diminta telah dihantar ke telefonnya. Pengguna hendaklah diberi kuasa hanya selepas dia mengemukakan kod yang betul. Kod di atas adalah untuk ilustrasi sahaja. Dalam permohonan sebenar anda, anda mungkin ingin mempertimbangkan untuk menambah yang berikut: Di samping itu, anda mungkin ingin mempertimbangkan untuk membuat kod pengesahan yang cukup kompleks untuk tujuan anda. Kod 4 digit sangat biasa, tetapi anda tidak terhad kepada itu. Jika anda memilih untuk menggunakan campuran huruf atau nilai alfanumerik, saya cadangkan mengelakkan nilai -nilai yang mengelirukan (seperti nombor 0 dengan huruf O, nombor 1 dengan huruf I, dll.). Ringkasan Populariti peranti mudah alih yang berpatutan dan telefon IP telah menambahkan saluran lain untuk berinteraksi dengan pengguna, dan dalam artikel ini anda mempelajari cara untuk memanfaatkan saluran ini dengan menggunakan perkhidmatan "komunikasi awan", perkhidmatan "komunikasi awan", Untuk memanfaatkan saluran ini dengan membolehkan pengesahan multi-faktor ,. Saya harap anda dapati artikel ini membantu dalam memahami pengesahan multifaktor dan Twilio. Jangan ragu untuk memberi komen di bawah untuk berkongsi bagaimana anda boleh menggunakan Twilio dalam aplikasi anda sendiri atau melaksanakan pengesahan multi-faktor. Saya suka mendengar apa yang anda fikirkan! (gambar dari fotolia) FAQs (FAQs) pada Pengesahan Multi-Faktor dengan PHP dan Twilio Pengesahan Multifactor (MFA) sangat selamat dengan PHP dan Twilio. Ia menambah lapisan keselamatan tambahan dengan menghendaki pengguna menyediakan sekurang -kurangnya dua cara pengesahan sebelum mengakses akaun mereka. Borang pertama biasanya kata laluan, dan borang kedua boleh menjadi kod yang dihantar ke telefon pengguna melalui mesej teks. Walaupun mereka mempunyai kata laluan, ini menjadikannya lebih sukar bagi pengguna yang tidak dibenarkan untuk mengakses akaun mereka. Ya, anda boleh menyesuaikan proses pengesahan untuk memenuhi keperluan anda. API Twilio sangat fleksibel dan membolehkan anda menyesuaikan proses pengesahan kepada keperluan khusus anda. Anda boleh memilih jenis faktor kedua (seperti mesej teks, panggilan suara atau e -mel), kandungan mesej, dan banyak lagi. Twilio adalah platform yang boleh dipercayai untuk menghantar kod pengesahan. Ia mempunyai infrastruktur yang kuat dan memberikan kadar penghantaran yang tinggi. Ia juga menyediakan laporan penghantaran masa nyata supaya anda dapat menjejaki status mesej. Jika pengguna kehilangan telefonnya, mereka masih boleh mengakses akaun mereka menggunakan kod alternatif. Kod -kod ini dijana apabila menubuhkan MFA dan harus disimpan di tempat yang selamat. Pengguna boleh memasukkan kod ini dan bukannya kod yang dihantar ke telefon mereka. Ya, anda boleh menggunakan MFA dengan PHP dan Twilio untuk aplikasi besar. Infrastruktur Twilio direka untuk mengendalikan sejumlah besar mesej, menjadikannya sesuai untuk aplikasi dengan sejumlah besar pengguna. Anda boleh menguji pelaksanaan MFA anda dengan membuat akaun ujian dan menyelesaikan proses pengesahan. Twilio juga menyediakan persekitaran kotak pasir di mana anda boleh menguji kod anda tanpa menghantar mesej sebenar. Walaupun sesetengah penyelesaian MFA boleh digunakan untuk pengkodan, melaksanakan MFA menggunakan PHP dan Twilio memerlukan pengetahuan pengekodan. Walau bagaimanapun, prosesnya mudah dan terdapat banyak sumber untuk membantu anda. Kos menggunakan Twilio untuk MFA bergantung kepada bilangan mesej yang anda hantar. Caj Twilio melalui mesej, jadi semakin banyak mesej yang anda hantar, semakin tinggi yuran. Walau bagaimanapun, Twilio menawarkan harga yang kompetitif dan diskaun batch. Ya, anda boleh menggunakan MFA dengan PHP dan Twilio untuk aplikasi bukan web. Anda boleh melaksanakan MFA dalam sebarang aplikasi yang boleh menghantar permintaan HTTP dan memproses respons HTTP. Selain MFA, Twilio juga menawarkan pelbagai perkhidmatan komunikasi termasuk suara, video, sembang dan e -mel. Perkhidmatan ini boleh digunakan untuk membina pelbagai aplikasi, dari sistem perkhidmatan pelanggan ke alat pemasaran automasi. <code class="language-php"><?php require "Services/Twilio.php";
define("TWILIO_SID", "…");
define("TWILIO_AUTH_TOKEN", "…");
$twilio = new Services_Twilio(TWILIO_SID, TWILIO_AUTH_TOKEN);
$acct = $twilio->account;</code>
Contoh akaun <code class="language-php"><?php $code = "1234"; // some random auth code
$msg = $acct->sms_messages->create(
"+19585550199", // "from" number
"+19588675309", // "to" number
"Your access code is " . $code
);</code>
<code class="language-php"><?php // Note spaces between each letter in auth code. This forces
// the speech synthesizer to enunciate each digit.
$code = "1 2 3 4";
$msg = $acct->calls->create(
"+19585550199", // "from" number
"+19588675309", // "to" number
"http://example.com/voiceCall.php?code=" . urlencode($code)
);</code>
Perpustakaan <code class="language-php"><?php require "Services/Twilio.php";
define("TWILIO_SID", "…");
define("TWILIO_AUTH_TOKEN", "…");
$twilio = new Services_Twilio(TWILIO_SID, TWILIO_AUTH_TOKEN);
$acct = $twilio->account;</code>
<code class="language-php"><?php $code = "1234"; // some random auth code
$msg = $acct->sms_messages->create(
"+19585550199", // "from" number
"+19588675309", // "to" number
"Your access code is " . $code
);</code>
$_SESSION["username"]
kerana nilai bertindak sebagai bendera "pengesahan separa" untuk $_SESSION["isAuthenticated"]
selain menyimpan nama pengguna.
Atas ialah kandungan terperinci PHP Master | Pengesahan pelbagai faktor dengan PHP dan Twilio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!