Untuk melaksanakan 2FA di Laravel, gunakan pakej seperti Pragmarx/Google2FA-Laravel atau Spatie/Laravel-Google2FA. 1. Pasang dan menerbitkan konfigurasi pakej. 2. Tambah lajur 'Google2FA_SECRET' ke jadual pengguna melalui penghijrahan. 3. Menjana kunci rahsia dan paparkan kod QR untuk pengguna mengimbas dengan aplikasi pengesahan. 4. Sahkan kata laluan satu kali semasa log masuk, secara pilihan menyesuaikan saiz tetingkap untuk hanyut jam. 5. Menyediakan pilihan pemulihan seperti kod sandaran untuk mengendalikan akses yang hilang dengan selamat.
Menyediakan pengesahan dua faktor (2FA) di Laravel lebih mudah daripada yang anda fikirkan, terutamanya dengan pakej seperti Google2FA atau Spatie Laravel Google Authenticator . Idea utama adalah untuk menambah lapisan kedua keselamatan di luar kata laluan-biasanya kata laluan satu kali berasaskan masa (TOTP)-walaupun seseorang mendapat kata laluan anda, mereka masih tidak dapat log masuk tanpa kod kedua.

Inilah cara melaksanakannya dengan berkesan:

1. Pilih pakej yang betul
Laravel tidak termasuk 2FA keluar dari kotak, tetapi terdapat pakej komuniti pepejal yang menjadikan integrasi mudah. Dua pilihan popular adalah:
- Pragmarx/Google2FA-Laravel : Pembungkus di sekitar perpustakaan Google2FA, baik untuk sokongan TOTP asas.
- Spatie/Laravel-Google2FA : Satu lagi pilihan pepejal dengan ciri-ciri terbina dalam seperti kod pemulihan dan pembantu UI.
Anda biasanya akan pergi dengan salah satu daripada ini melainkan anda memerlukan sesuatu yang tersuai atau gred perusahaan seperti WebAuthn (yang merupakan cerita yang berbeza).

Untuk memasang pakej pertama:
Komposer memerlukan Pragmarx/Google2FA-Laravel
Kemudian menerbitkan konfigurasi:
PHP Artisan Vendor: Publish --Provider = "Pragmarx \ Google2FA \ Google2FaserviceProvider"
2. Tambahkan medan 2FA ke model pengguna anda
Anda perlu menyimpan kunci rahsia untuk setiap pengguna. Kunci ini digunakan untuk menjana dan mengesahkan kod TOTP.
Jalankan penghijrahan:
PHP Artisan Make: Migration Add_Google2FA_Secret_TO_USERS
Dalam fail penghijrahan:
Skema :: Table ('Pengguna', Fungsi (Blueprint $ Table) { $ Table-> String ('Google2FA_Secret')-> nullable (); });
Kemudian jalankan:
PHP Artisan berhijrah
Sekarang pengguna anda boleh mempunyai rahsia 2FA mereka sendiri yang disimpan dengan selamat.
3. Menjana dan memaparkan kod QR
Sebaik sahaja pengguna membolehkan 2FA, anda perlu menjana rahsia dan menunjukkan kepada mereka kod QR untuk mengimbas dengan aplikasi seperti Google Authenticator atau Authy.
Dalam pengawal anda:
Gunakan Pragmarx \ Google2FA \ Google2FA; $ google2fa = new Google2FA (); $ rahsia = $ Google2fa-> GenerateSeCretKey (); // Simpan rahsia sementara atau simpannya ke model pengguna $ user-> update (['Google2fa_secret' => $ rahsia]); $ qrcodeUrl = $ google2fa-> getqrcodeUrl ( config ('app.name'), $ user-> e-mel, $ rahsia );
Lulus $qrCodeUrl
ke pandangan anda dan paparkan kod QR sebagai imej. Pengguna mengimbas ini dengan aplikasi Authenticator mereka.
4. Sahkan kata laluan sekali
Selepas pengguna menetapkan aplikasi mereka, mereka akan memasukkan kod yang dihasilkan semasa log masuk. Anda perlu mengesahkan kod itu terhadap rahsia mereka.
Dalam aliran log masuk anda:
Gunakan Pragmarx \ Google2FA \ Google2FA; $ google2fa = new Google2FA (); jika (! $ google2fa-> verifyKey ($ user-> google2fa_secret, $ request-> input ('one_time_password'))) { kembali kembali ()-> withErrors (['one_time_password' => 'tidak sah 2fa code']); }
Ini sepatutnya berlaku selepas pemeriksaan kata laluan biasa. Jika kod itu tidak sah, tolak akses.
Anda mungkin ingin membenarkan beberapa fleksibiliti dengan menetapkan saiz window
(bilangan kod sebelumnya/masa depan yang dibenarkan), yang boleh membantu dengan masalah hanyut jam:
$ Google2fa-> setWindow (1); // membenarkan satu kod sebelumnya atau masa depan
5. Mengendalikan pilihan pemulihan
Jika pengguna kehilangan akses ke aplikasi pengesahan mereka, mereka memerlukan jalan masuk. Pendekatan umum termasuk:
- Kod sandaran (dihasilkan dan disimpan apabila 2FA diaktifkan)
- Pemulihan berasaskan e-mel (kurang selamat tetapi biasa)
- Mengatasi pentadbir (untuk aplikasi dalaman)
Kod sandaran adalah penyelesaian yang paling tipikal. Apabila membolehkan 2FA, menghasilkan beberapa kod dan biarkan pengguna memuat turun atau mencetaknya. Simpan mereka dengan selamat (contohnya, disulitkan dalam db atau hashed jika boleh).
Melaksanakan 2FA di Laravel tidak terlalu sukar apabila anda mempunyai alat yang betul dan mengalir di tempatnya. Ia menambah sedikit kerumitan kepada proses log masuk anda, tetapi ia meningkatkan keselamatan akaun dengan ketara. Ingatlah untuk menguji keseluruhan aliran diri anda dari persediaan ke pengesahan -dan jangan lupa laluan pemulihan.
Atas ialah kandungan terperinci Melaksanakan pengesahan dua faktor di Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

Di Laravel, penghalaan adalah titik masuk aplikasi yang mentakrifkan logik tindak balas apabila pelanggan meminta URI tertentu. Laluan memetakan URL ke kod pemprosesan yang sepadan, yang biasanya mengandungi kaedah HTTP, URI, dan tindakan (penutupan atau kaedah pengawal). 1. Struktur Asas Definisi Laluan: Permintaan Bind menggunakan Route :: Verb ('/uri', Tindakan); 2. Menyokong pelbagai kata kerja HTTP seperti GET, POST, PUT, dan sebagainya; 3. Parameter dinamik boleh ditakrifkan melalui {param} dan data boleh diluluskan; 4. Laluan boleh dinamakan untuk menjana URL atau pengalihan; 5. Gunakan fungsi kumpulan untuk menambahkan awalan, middleware dan tetapan perkongsian yang seragam; 6. Fail penghalaan dibahagikan kepada web.php, AP mengikut tujuan mereka

Inlaravel, policiesorganizeAuthorizationLogicformodelactions.1.PoliciesareClassSesSesSelSelwithMethodsLikeView, create, Update, andDeletetHatReturnTrueorfalsebasedOnuserpermissions.2.Toregisterapolicy, Mapthemodeltoitspolicheon.

Untuk membuat rekod baru dalam pangkalan data menggunakan fasih, terdapat empat kaedah utama: 1. Gunakan kaedah membuat untuk membuat rekod dengan cepat dengan lulus dalam array atribut, seperti pengguna :: create (['name' => 'Johndoe', 'e -mel' => 'John@example.com']); 2. Gunakan kaedah simpan untuk secara manual meniru model dan menetapkan nilai untuk menyimpan satu demi satu, yang sesuai untuk senario di mana tugasan bersyarat atau logik tambahan diperlukan; 3. Gunakan FirstOrcreate untuk mencari atau membuat rekod berdasarkan keadaan carian untuk mengelakkan data pendua; 4. Gunakan UpdateOrcreate untuk mencari rekod dan kemas kini, jika tidak, buatnya, yang sesuai untuk memproses data yang diimport, dan lain -lain, yang mungkin berulang.

ThePhpartisandb: SeedCommandinlaravelisusedTopopulatethedatabasewithtestestordefaultdata.1.iteXecuteStherun () methodinseederclasslocatedin/database/seeders.2.developerscanrunallseeders, aspecifyseederusingsusing-classsoSseederusing-classsoSseederusing-baseSsifeSsoederusing-baseSsifeSsoederusing-baseedselsusing-classeedsusing-basseedselsusing-

Artisan adalah alat perintah Laravel untuk meningkatkan kecekapan pembangunan. Fungsi terasnya termasuk: 1. Menjana struktur kod, seperti pengawal, model, dan lain -lain, dan secara automatik membuat fail melalui membuat: pengawal dan arahan lain; 2. Menguruskan penghijrahan pangkalan data dan mengisi, gunakan berhijrah untuk menjalankan penghijrahan, dan DB: benih untuk mengisi data; 3. Menyokong perintah adat, seperti Make: Command Creation Command Class untuk melaksanakan enkapsulasi logik perniagaan; 4. Memberi fungsi debugging dan pengurusan alam sekitar, seperti kunci: menjana untuk menjana kunci, dan berfungsi untuk memulakan pelayan pembangunan. Kemahiran dalam menggunakan Artisan dapat meningkatkan kecekapan pembangunan Laravel dengan ketara.

Ya, youpaninstalllaravelonanyoperatingsystembyfollowingthesesteps: 1.InstallphpandrequiredextensionsLikembstring, openssl, andxmlusingtoolsLikexampponWindows, homeBrewonmacos, oraptonlarunux;

Menentukan kaedah (juga dikenali sebagai tindakan) dalam pengawal adalah untuk memberitahu aplikasi apa yang perlu dilakukan apabila seseorang melawat URL tertentu. Kaedah ini biasanya memproses permintaan, memproses data, dan mengembalikan respons seperti halaman HTML atau JSON. Memahami Struktur Asas: Kebanyakan kerangka web (seperti RubyonRails, Laravel, atau SpringMVC) menggunakan pengawal yang berkaitan dengan operasi kumpulan. Kaedah dalam setiap pengawal biasanya sesuai dengan laluan, iaitu laluan URL yang dapat diakses oleh seseorang. Sebagai contoh, mungkin terdapat kaedah berikut dalam PostSController: 1.Index () - Senarai Pos Paparan; 2.Show () - memaparkan jawatan individu; 3.Create () - Mengendalikan membuat jawatan baru; 4.U

Toruntestsinlaravelefectively, usethephpartiSanteStCommandWhichSimplifiesphpunitusage.1.setupa.env.testingfileandConfigurePhp Unit.xmltouseatestDatabaselikesqlite.2.GenerateTestFilesusingPhpartisanMake: ujian, menggunakan-Unitforunittests.3.WriteTestSwithmeth
