Rumah pembangunan bahagian belakang Golang Contoh penggunaan kod pengesahan dalam rangka kerja Gin

Contoh penggunaan kod pengesahan dalam rangka kerja Gin

Jun 23, 2023 am 08:10 AM
Kod pengesahan Contoh ginframework

Dengan populariti Internet, kod pengesahan telah menjadi proses yang diperlukan untuk log masuk, pendaftaran, mendapatkan kata laluan dan operasi lain. Dalam rangka kerja Gin, melaksanakan fungsi kod pengesahan telah menjadi sangat mudah.

Artikel ini akan memperkenalkan cara menggunakan pustaka pihak ketiga untuk melaksanakan fungsi kod pengesahan dalam rangka kerja Gin dan menyediakan kod sampel untuk rujukan pembaca.

1. Pasang pustaka bergantung

Sebelum menggunakan kod pengesahan, kami perlu memasang pustaka pihak ketiga goCaptcha.

Untuk memasang goCaptcha, anda boleh menggunakan arahan go get:

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

2 Jana kod pengesahan

goCaptcha menyediakan tiga jenis kod pengesahan, termasuk kod pengesahan berangka, pengesahan surat. kod dan kod pengesahan Alphanumeric. Seterusnya, kami akan mengambil kod pengesahan digital sebagai contoh untuk menunjukkan cara menjana kod pengesahan.

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    b64 "github.com/mojocn/base64Captcha"
)

func main() {
    // 以下是生成验证码的代码
    driver := b64.NewDriverDigit(80, 240, 6, 0.7, 80)
    captcha := b64.NewCaptcha(driver, b64.DefaultMemStore)
    id, b64s, err := captcha.Generate()
    if err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println(id, b64s)
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi NewDriverDigit untuk mencipta penjana kod pengesahan. Parameter fungsi berturut-turut mewakili lebar imej, ketinggian, panjang kod pengesahan, keamatan hingar dan bilangan garisan gangguan. Kemudian kami menggunakan fungsi NewCaptcha untuk mencipta objek kod pengesahan dan memanggil kaedah Generate untuk menjana kod pengesahan.

3. Hantar kod pengesahan kepada pelanggan

Selepas menjana kod pengesahan, kami perlu menghantarnya kepada pelanggan. Dalam rangka kerja Gin, anda boleh menggunakan fungsi ResponseWriter.Write untuk menulis badan tindak balas.

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    b64 "github.com/mojocn/base64Captcha"
)

func main() {
    router := gin.Default()

    // 以下是生成验证码的代码
    driver := b64.NewDriverDigit(80, 240, 6, 0.7, 80)
    captcha := b64.NewCaptcha(driver, b64.DefaultMemStore)
    router.GET("/captcha", func(c *gin.Context) {
        id, b64s, err := captcha.Generate()
        if err != nil {
            fmt.Println(err.Error())
            c.String(500, err.Error())
            return
        }
        c.SetCookie("captcha_id", id, 300, "/", "localhost", false, true)
        c.Data(200, "image/png", []byte(b64s))
    })

    router.Run(":8080")
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta laluan /captcha, lulus ID kod pengesahan melalui kaedah SetCookie dan menulis kod pengesahan teks yang dijana ke dalam badan respons melalui objek ResponseWriter.

4. Pengesahan kod pengesahan

Apabila pengguna memasukkan kod pengesahan dalam borang dan menyerahkannya, kami perlu mendapatkan kod pengesahan melalui ID kod pengesahan dan mengesahkan ketepatannya. Dalam Go, kami boleh menggunakan objek MemStore untuk menyimpan dan mendapatkan semula kod pengesahan.

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    b64 "github.com/mojocn/base64Captcha"
)

func main() {
    router := gin.Default()

    // 以下是生成验证码的代码
    driver := b64.NewDriverDigit(80, 240, 6, 0.7, 80)
    captcha := b64.NewCaptcha(driver, b64.DefaultMemStore)
    router.GET("/captcha", func(c *gin.Context) {
        id, b64s, err := captcha.Generate()
        if err != nil {
            fmt.Println(err.Error())
            c.String(500, err.Error())
            return
        }
        c.SetCookie("captcha_id", id, 300, "/", "localhost", false, true)
        c.Data(200, "image/png", []byte(b64s))
    })

    // 以下是验证验证码的代码
    router.POST("/login", func(c *gin.Context) {
        captchaId, err := c.Cookie("captcha_id")
        if err != nil {
            fmt.Println(err.Error())
            c.String(400, "未生成验证码")
            return
        }
        captchaVal := c.PostForm("captcha_val")
        if captchaVal == "" {
            c.String(400, "请输入验证码")
            return
        }
        if !captcha.Verify(captchaId, captchaVal) {
            c.String(400, "验证码错误")
            return
        }
        c.String(200, "登录成功")
    })

    router.Run(":8080")
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta laluan /log masuk, yang mula-mula memperoleh ID kod pengesahan melalui Kuki, kemudian memperoleh kod pengesahan yang dimasukkan oleh pengguna melalui PostForm, dan akhirnya menggunakan kaedah Pengesahan pengesahan objek kod untuk mengesahkan ketepatan kod.

5. Ringkasan

Artikel ini memperkenalkan cara menggunakan goCaptcha untuk melaksanakan fungsi kod pengesahan dalam rangka kerja Gin. Mula-mula jana penjana kod pengesahan melalui fungsi NewDriverDigit, kemudian gunakan fungsi NewCaptcha untuk mencipta objek kod pengesahan, dan gunakan kaedah Generate untuk menjana kod pengesahan. Akhir sekali, kod pengesahan dihantar kepada pelanggan melalui ResponseWriter, ID kod pengesahan dihantar melalui Cookie, objek MemStore digunakan untuk menyimpan kod pengesahan, dan ketepatan kod pengesahan disahkan semasa log masuk.

Dalam pembangunan sebenar, kami boleh menyesuaikan pelbagai parameter kod pengesahan mengikut keperluan dan menggabungkannya dengan fungsi lain untuk memberikan pengguna pengalaman berfungsi yang lebih kaya.

Atas ialah kandungan terperinci Contoh penggunaan kod pengesahan dalam rangka kerja Gin. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
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

Gunakan rangka kerja Gin untuk melaksanakan penjanaan automatik dokumen API dan fungsi pusat dokumen Gunakan rangka kerja Gin untuk melaksanakan penjanaan automatik dokumen API dan fungsi pusat dokumen Jun 23, 2023 am 11:40 AM

Dengan pembangunan aplikasi Internet yang berterusan, penggunaan antara muka API menjadi semakin popular. Semasa proses pembangunan, untuk memudahkan penggunaan dan pengurusan antara muka, penulisan dan penyelenggaraan dokumen API telah menjadi semakin penting. Cara tradisional menulis dokumen memerlukan penyelenggaraan manual, yang tidak cekap dan mudah ralat. Untuk menyelesaikan masalah ini, banyak pasukan telah mula menggunakan penjanaan automatik dokumen API untuk meningkatkan kecekapan pembangunan dan kualiti kod. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Gin untuk melaksanakan penjanaan automatik dokumen API dan fungsi pusat dokumen. Gin adalah satu

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.

Penjelasan terperinci tentang proksi terbalik dan pemajuan permintaan dalam rangka kerja Gin Penjelasan terperinci tentang proksi terbalik dan pemajuan permintaan dalam rangka kerja Gin Jun 23, 2023 am 11:43 AM

Dengan perkembangan pesat aplikasi web, semakin banyak perusahaan cenderung menggunakan bahasa Golang untuk pembangunan. Dalam pembangunan Golang, menggunakan rangka kerja Gin adalah pilihan yang sangat popular. Rangka kerja Gin ialah rangka kerja web berprestasi tinggi yang menggunakan fasthttp sebagai enjin HTTP dan mempunyai reka bentuk API yang ringan dan elegan. Dalam artikel ini, kami akan menyelidiki aplikasi proksi terbalik dan pemajuan permintaan dalam rangka kerja Gin. Konsep proksi terbalik Konsep proksi terbalik adalah menggunakan pelayan proksi untuk membuat klien

Gunakan rangka kerja Gin untuk melaksanakan pengantarabangsaan dan fungsi sokongan berbilang bahasa Gunakan rangka kerja Gin untuk melaksanakan pengantarabangsaan dan fungsi sokongan berbilang bahasa Jun 23, 2023 am 11:07 AM

Dengan perkembangan globalisasi dan populariti Internet, semakin banyak laman web dan aplikasi telah mula berusaha untuk mencapai pengantarabangsaan dan fungsi sokongan berbilang bahasa untuk memenuhi keperluan kumpulan orang yang berbeza. Untuk merealisasikan fungsi ini, pembangun perlu menggunakan beberapa teknologi dan rangka kerja termaju. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Gin untuk melaksanakan pengantarabangsaan dan keupayaan sokongan berbilang bahasa. Rangka kerja Gin ialah rangka kerja web ringan yang ditulis dalam bahasa Go. Ia cekap, mudah digunakan dan fleksibel, dan telah menjadi rangka kerja pilihan bagi banyak pembangun. selain itu,

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

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.

See all articles