Rumah pembangunan bahagian belakang Golang Gunakan Beego dan Captcha untuk melaksanakan fungsi kod pengesahan

Gunakan Beego dan Captcha untuk melaksanakan fungsi kod pengesahan

Jun 22, 2023 pm 10:54 PM
Kod pengesahan captcha beego

Dengan perkembangan dan populariti Internet, semakin banyak tapak web dan aplikasi telah dibangunkan, kebanyakannya memerlukan kod pengesahan untuk memastikan kesahihan dan keselamatan pengguna. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Beego dan pustaka Captcha untuk melaksanakan fungsi kod pengesahan. Antaranya, Beego ialah rangka kerja aplikasi web berdasarkan bahasa Go, dan Captcha ialah perpustakaan kod pengesahan sumber terbuka dalam bahasa Go.

  1. Persediaan untuk rangka kerja Beego

Sebelum melaksanakan kod pengesahan, anda perlu memasang rangka kerja Beego dan mencipta aplikasi Go baharu. Rangka kerja Beego boleh dipasang menggunakan arahan berikut:

go get github.com/astaxie/beego
Salin selepas log masuk

Kemudian, buat aplikasi baharu dan mulakan perkhidmatan:

beego new myapp
cd myapp
bee run
Salin selepas log masuk

Jika semuanya berjalan lancar, aplikasi harus boleh diakses dalam penyemak imbas, output "Selamat datang ke Beego!".

  1. Pemasangan dan penggunaan perpustakaan Captcha

Seterusnya, anda perlu memasang pustaka Captcha. Anda boleh menggunakan arahan berikut untuk memasang:

go get github.com/mojocn/base64Captcha
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh mengimport pustaka Captcha dalam aplikasi Go anda dan menggunakan kod berikut untuk menjana dan mengesahkan kod pengesahan:

// 生成验证码
config := captcha.ConfigCharacter{
    Height:             60,
    Width:              240,
    Mode:               captcha.CaptchaModeNumber,
    Complexity:         captcha.CaptchaComplexityNormal,
    CaptchaLen:         4,
    CaptchaTimeout:     1200,
    SubPixel:           false,
    ShowLineOptions:    captcha.OptionShowHollowLine | captcha.OptionShowSineLine,
    Source:             "1234567890",
    BgColor:            "#eeeeee",
}
captchaId, captchaImage := captcha.GenerateCaptcha("", config)

// 验证验证码
result := captcha.VerifyCaptcha(captchaId, userInputCaptcha)
Salin selepas log masuk

Dalam kod di atas, pertama Konfigurasi fail konfigurasi ditakrifkan, yang menentukan pelbagai atribut kod pengesahan, seperti lebar, ketinggian, set aksara, masa kelangsungan hidup, dsb. Kemudian, kod pengesahan dijana dengan memanggil kaedah GenerateCaptcha, dan imej kod pengesahan yang dijana dan ID kod pengesahan dikembalikan kepada pengguna untuk paparan dan penyimpanan. Akhir sekali, kaedah VerifyCaptcha dipanggil untuk mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah konsisten dengan ID kod pengesahan yang dijana sebelum ini.

Perhatikan bahawa apabila memanggil GenerateCaptcha, parameter pertama ialah rentetan kosong, yang bermaksud bahawa kod pengesahan yang dijana kali ini tidak perlu dikaitkan dengan sebarang data. Jika anda perlu mengaitkannya dengan data lain, anda boleh menghantar data dalam parameter pertama, seperti nombor telefon mudah alih atau nama pengguna, dsb. Apabila memanggil VerifyCaptcha, parameter pertama melepasi ID kod pengesahan yang dijana sebelum ini dan parameter kedua melepasi kod pengesahan yang dimasukkan oleh pengguna.

  1. Melaksanakan fungsi kod pengesahan dalam Beego

Dengan penyediaan Beego dan Captcha, anda boleh melaksanakan fungsi kod pengesahan dalam aplikasi Beego. Mula-mula, jana kod pengesahan dan paparkan imej kod pengesahan dalam pengawal Beego Kod tersebut adalah seperti berikut:

// 生成验证码
func (c *MainController) GenerateCaptcha() {
    config := captcha.ConfigCharacter{
        Height:         60,
        Width:          240,
        Mode:           captcha.CaptchaModeNumber,
        Complexity:     captcha.CaptchaComplexityNormal,
        CaptchaLen:     4,
        CaptchaTimeout: 1200,
        SubPixel:       false,
        Source:         "1234567890",
        BgColor:        "#eeeeee",
    }
    captchaId, captchaImage := captcha.GenerateCaptcha("", config)

    // 将验证码及其ID存储到session中,并返回图片
    c.SetSession(sessionCaptchaId, captchaId)
    c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-store, no-cache")
    c.Ctx.ResponseWriter.Header().Set("Content-Type", "image/png")
    captchaImage.WriteTo(c.Ctx.ResponseWriter)
}

// 验证验证码
func (c *MainController) CheckCaptcha() {
    publicKey := c.GetString("public_key")
    inputCaptcha := c.GetString("input_captcha")

    // 从session中获取验证码ID
    captchaId := c.GetSession(sessionCaptchaId)
    if captchaId == nil {
        c.ResponseError(errNoCaptchaFound)
        return
    }

    // 验证输入的验证码
    if !captcha.VerifyCaptcha(captchaId.(string), inputCaptcha) {
        c.ResponseError(errCaptchaNotMatch)
        return
    }

    // 验证码匹配成功,移除验证码ID
    c.DelSession(sessionCaptchaId)

    // TODO: 验证通过,执行其他操作
}
Salin selepas log masuk

Dalam kod di atas, kod pengesahan pertama kali dijana dalam kaedah GenerateCaptcha dan kod pengesahan serta kodnya. ID disimpan di tengah-tengah. Kemudian, kembalikan imej kod pengesahan yang dijana kepada pelanggan. Dalam kaedah CheckCaptcha, dapatkan ID kod pengesahan daripada sesi dan gunakan kaedah VerifyCaptcha untuk mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah betul. Jika pengesahan berjaya, ID kod pengesahan akan dialih keluar dan tindakan lain akan dilakukan.

Akhir sekali, tambahkan peraturan penghalaan berikut pada penghalaan Beego:

beego.Router("/captcha/generate", &controllers.MainController{}, "get:GenerateCaptcha")
beego.Router("/captcha/check", &controllers.MainController{}, "post:CheckCaptcha")
Salin selepas log masuk

Dengan cara ini, pelaksanaan fungsi kod pengesahan selesai. Apabila mengakses /captcha/generate, kod pengesahan baharu akan dijana, IDnya akan disimpan dalam sesi dan imej kod pengesahan akan dikembalikan kepada pelanggan. Apabila mengakses /captcha/check, kod pengesahan yang dimasukkan oleh pengguna akan diperoleh daripada permintaan HTTP POST dan disahkan sama ada ia konsisten dengan ID kod pengesahan yang dijana sebelum ini. Jika ia sepadan, ID kod pengesahan akan dialih keluar dan operasi lain akan dilakukan.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Beego dan Captcha untuk melaksanakan fungsi kod pengesahan. Rangka kerja Beego menyediakan sokongan pembangunan web yang baik, dan perpustakaan Captcha menyediakan penjanaan kod pengesahan dan sokongan pengesahan yang baik. Dengan menggabungkan kedua-duanya, fungsi kod pengesahan boleh dilaksanakan dengan mudah untuk meningkatkan keselamatan dan keteguhan aplikasi web.

Atas ialah kandungan terperinci Gunakan Beego dan Captcha untuk melaksanakan fungsi kod pengesahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Mar 13, 2024 pm 08:55 PM

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan? Kadangkala anda memerlukan kod pengesahan untuk log masuk ke halaman web menggunakan Google Chrome. Sesetengah pengguna mendapati bahawa Google Chrome tidak dapat memaparkan kandungan imej dengan betul apabila menggunakan kod pengesahan imej. Apa yang patut dibuat? Editor di bawah akan memperkenalkan cara menangani kod pengesahan Google Chrome yang tidak dipaparkan. Saya harap ia akan membantu semua orang! Pengenalan kaedah: 1. Masukkan perisian, klik butang "Lagi" di penjuru kanan sebelah atas, dan pilih "Tetapan" dalam senarai pilihan di bawah untuk masuk. 2. Selepas memasuki antara muka baharu, klik pilihan "Tetapan Privasi dan Keselamatan" di sebelah kiri. 3. Kemudian klik "Tetapan Laman Web" di sebelah kanan

Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Aug 17, 2023 pm 02:49 PM

Kegagalan menerima kod pengesahan pada telefon mudah alih anda disebabkan oleh masalah rangkaian, masalah tetapan telefon mudah alih, masalah operator telefon mudah alih dan masalah tetapan peribadi. Pengenalan terperinci: 1. Masalah rangkaian Persekitaran rangkaian di mana telefon bimbit berada tidak stabil atau isyarat lemah, yang mungkin menyebabkan kod pengesahan tidak dapat dihantar tepat pada masanya atau fungsi suara telefon mudah alih dimatikan secara tidak sengaja, atau Nombor penghantaran kod pengesahan ditambah ke senarai hitam, menyebabkan kod pengesahan tidak diterima seperti biasa 3. Isu operator telefon mudah alih, operator telefon mudah alih mungkin mengalami kerosakan atau penyelenggaraan, mengakibatkan kod pengesahan tidak dihantar tepat pada masanya, dsb.

Bolehkah nombor maya menerima kod pengesahan? Bolehkah nombor maya menerima kod pengesahan? Jan 02, 2024 am 10:22 AM

Nombor maya boleh menerima kod pengesahan Selagi nombor telefon bimbit yang diisi semasa pendaftaran mematuhi peraturan dan nombor telefon bimbit boleh disambungkan seperti biasa, anda boleh menerima kod pengesahan SMS. Walau bagaimanapun, anda perlu berhati-hati apabila menggunakan nombor telefon mudah alih maya Sesetengah tapak web tidak menyokong pendaftaran nombor telefon mudah alih maya, jadi anda perlu memilih pembekal perkhidmatan nombor telefon mudah alih maya biasa.

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Aug 17, 2023 pm 12:09 PM

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Dengan perkembangan pesat Internet, kod pengesahan telah menjadi salah satu cara penting untuk melindungi keselamatan laman web. Kod pengesahan ialah kaedah pengesahan yang menggunakan teknologi pengecaman imej untuk menentukan sama ada pengguna adalah pengguna sebenar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan imej, dan disertakan dengan contoh kod. Pengenalan Kod pengesahan ialah gambar yang mengandungi aksara rawak Pengguna perlu memasukkan aksara dalam gambar untuk lulus pengesahan. Proses utama melaksanakan kod pengesahan termasuk menjana aksara rawak dan melukis aksara ke dalam gambar.

Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Jul 01, 2023 am 09:27 AM

Dengan perkembangan Internet dan populariti telefon pintar, fungsi log masuk kod pengesahan diterima pakai oleh semakin banyak laman web dan aplikasi. Log masuk kod pengesahan ialah kaedah log masuk yang mengesahkan identiti pengguna dengan memasukkan kod pengesahan yang betul untuk meningkatkan keselamatan dan mencegah serangan berniat jahat. Dalam pembangunan PHP, melaksanakan fungsi log masuk kod pengesahan mudah tidak rumit dan boleh diselesaikan melalui langkah-langkah berikut. Buat jadual pangkalan data Pertama, kita perlu mencipta jadual dalam pangkalan data untuk menyimpan maklumat kod pengesahan. Struktur jadual boleh mengandungi medan berikut: id: auto-incrementing primary key phone

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Sep 13, 2023 am 11:40 AM

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? CAPTCHA ialah kaedah yang biasa digunakan untuk mengesahkan sama ada pengguna adalah manusia dan bukan mesin. Di tapak web, kami sering melihat imej kod pengesahan, yang memerlukan pengguna memasukkan aksara atau nombor rawak yang dipaparkan pada imej untuk menyelesaikan operasi seperti log masuk, pendaftaran dan mengulas. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencipta imej kod pengesahan dan memberikan contoh kod tertentu. 1. Pustaka PHPGD Untuk mencipta imej kod pengesahan, kita perlu menggunakan perpustakaan GD PHP. Pustaka GD ialah sambungan untuk memproses imej.

Menggunakan ZooKeeper dan Kurator untuk penyelarasan dan pengurusan yang diedarkan di Beego Menggunakan ZooKeeper dan Kurator untuk penyelarasan dan pengurusan yang diedarkan di Beego Jun 22, 2023 pm 09:27 PM

Dengan perkembangan pesat Internet, sistem teragih telah menjadi salah satu infrastruktur dalam banyak perusahaan dan organisasi. Untuk sistem teragih berfungsi dengan baik, ia perlu diselaraskan dan diuruskan. Dalam hal ini, ZooKeeper dan Curator ialah dua alat yang patut digunakan. ZooKeeper ialah perkhidmatan penyelarasan teragih yang sangat popular yang boleh membantu kami menyelaraskan status dan data antara nod dalam kelompok. Kurator ialah enkapsulasi ZooKeeper

Apakah yang berlaku apabila saya menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih saya? Apakah yang berlaku apabila saya menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih saya? Sep 21, 2023 pm 03:31 PM

Menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih anda mungkin disebabkan maklumat peribadi dicuri, nombor telefon mudah alih anda disalahgunakan, atau nombor telefon mudah alih anda diisi dengan tidak betul atau disalahgunakan. Pengenalan terperinci: 1. Maklumat peribadi telah dicuri nombor telefon bimbit yang banyak diperolehi melalui pelbagai cara, dan kemudian nombor telefon bimbit ini digunakan untuk menjalankan pelbagai aktiviti penipuan 3. Nombor telefon bimbit diisi dengan tidak betul atau disalahgunakan, dsb.

See all articles