Rumah pembangunan bahagian belakang tutorial php Kemahiran pembangunan PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan

Kemahiran pembangunan PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan

Sep 21, 2023 pm 01:16 PM
Kod pengesahan pembangunan php Kemahiran

Kemahiran pembangunan PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan

Kemahiran pembangunan PHP: Cara melaksanakan fungsi kod pengesahan

Kod pengesahan (CAPTCHA) ialah teknologi biasa yang digunakan untuk mengesahkan identiti pengguna dan digunakan secara meluas dalam pembangunan laman web. Kod pengesahan boleh menghalang pendaftaran berniat jahat dengan berkesan oleh robot, peretasan kekerasan dan tingkah laku berniat jahat yang lain serta meningkatkan keselamatan tapak web. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan fungsi kod pengesahan dan menyediakan contoh kod khusus.

1. Jana kod pengesahan

Menjana kod pengesahan ialah langkah pertama untuk melaksanakan fungsi kod pengesahan. Kami boleh membuat gambar melalui perpustakaan GD dan melukis aksara kod pengesahan yang dijana secara rawak pada gambar. Berikut ialah contoh kod untuk menjana kod pengesahan:

<?php
session_start();

// 随机生成验证码字符
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$randomString = '';
$length = 6;

for ($i = 0; $i < $length; $i++) {
    $randomString .= $characters[rand(0, strlen($characters) - 1)];
}

// 将验证码字符保存到session中
$_SESSION['captcha'] = $randomString;

// 创建验证码图片
$image = imagecreatetruecolor(200, 100);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);

imagefilledrectangle($image, 0, 0, 200, 100, $bgColor);
imagettftext($image, 40, 0, 60, 60, $textColor, 'font.ttf', $randomString);

header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
Salin selepas log masuk

Dalam kod di atas, mula-mula kami menggunakan fungsi session_start() untuk membuka sesi untuk menyimpan aksara kod pengesahan. Kami kemudian memilih aksara secara rawak melalui gelung, menyimpannya ke dalam pembolehubah $randomString, dan menyimpannya dalam $_SESSION['captcha']. Seterusnya, gunakan fungsi imagecreatetruecolor() untuk mencipta kanvas $image dengan saiz 200x100 piksel, dan tetapkan warna latar belakang dan warna teks. Gunakan fungsi imagefilledrectangle() untuk mengisi kanvas dengan warna putih, dan kemudian gunakan fungsi imagettftext() untuk melukis aksara captcha pada kanvas. Akhir sekali, gunakan fungsi header() untuk menetapkan jenis respons kepada imej/png, dan gunakan fungsi imagepng() untuk mengeluarkan kanvas sebagai imej PNG.

2. Pengesahan kod pengesahan

Selepas menjana kod pengesahan, kami perlu memaparkannya di halaman web dan menyediakan kotak input untuk pengguna memasukkan kod pengesahan. Apabila pengguna menyerahkan borang, kami perlu mengesahkan ketepatan kod pengesahan. Berikut ialah contoh kod untuk pengesahan kod pengesahan:

<?php
session_start();

// 获取用户输入的验证码
$userCaptcha = $_POST['captcha'];

// 验证码比较(不区分大小写)
if (strcasecmp($userCaptcha, $_SESSION['captcha']) == 0) {
    echo '验证码正确';
} else {
    echo '验证码错误';
}

// 清除session中的验证码
unset($_SESSION['captcha']);
?>
Salin selepas log masuk

Dalam kod di atas, mula-mula kita menggunakan fungsi session_start() untuk membuka sesi, dan kemudian mendapatkan kod pengesahan $_POST['captcha'] yang dimasukkan oleh pengguna daripada borang yang dihantar oleh pengguna. Kemudian, gunakan fungsi strcasecmp() untuk membandingkan kod pengesahan yang dimasukkan oleh pengguna dengan kod pengesahan yang disimpan dalam sesi. Fungsi strcasecmp() ialah fungsi perbandingan rentetan tidak sensitif huruf besar yang mengembalikan 0 untuk menunjukkan kesamaan dan bukan sifar untuk menunjukkan ketidaksamaan. Keluarkan maklumat yang sepadan berdasarkan hasil perbandingan. Akhir sekali, gunakan fungsi unset() untuk mengosongkan kod pengesahan dalam sesi untuk kegunaan lain kali.

3. Gunakan fungsi kod pengesahan

Berikut ialah contoh kod untuk menggunakan fungsi kod pengesahan:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>验证码示例</title>
</head>
<body>
    <form action="verify.php" method="POST">
        <img src="/static/imghw/default1.png"  data-src="captcha.php"  class="lazy" alt="验证码">
        <input type="text" name="captcha" placeholder="请输入验证码">
        <input type="submit" value="提交">
    </form>
</body>
</html>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan teg Kemahiran pembangunan PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan dalam borang HTML untuk memaparkan kod pengesahan dan tetapkan kod pengesahan Atribut src bagi imej ialah captcha.php Fail PHP ini digunakan untuk menjana kod pengesahan. Borang ini juga mengandungi kotak input untuk pengguna memasukkan kod pengesahan dan butang hantar. Selepas pengguna memasukkan kod pengesahan dan mengklik butang hantar, borang akan dihantar ke fail verify.php untuk pengesahan kod pengesahan.

Ringkasan

Artikel ini memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan fungsi kod pengesahan dan menyediakan contoh kod khusus. Dengan menjana aksara rawak dan melukis imej kod pengesahan, kami boleh menghalang serangan bot dan pelakon berniat jahat di tapak web dengan berkesan. Apabila menggunakan fungsi kod pengesahan, anda perlu memberi perhatian untuk melindungi keselamatan aksara kod pengesahan untuk mengelakkan mereka daripada diduga oleh program berniat jahat. Saya harap artikel ini dapat membantu anda memahami dan menggunakan fungsi kod pengesahan.

Atas ialah kandungan terperinci Kemahiran pembangunan PHP: Bagaimana 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

Video Face Swap

Video Face Swap

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

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

Perkongsian Petua Win11: Langkau Log Masuk Akaun Microsoft dengan Satu Helah Perkongsian Petua Win11: Langkau Log Masuk Akaun Microsoft dengan Satu Helah Mar 27, 2024 pm 02:57 PM

Perkongsian Petua Win11: Satu helah untuk melangkau log masuk akaun Microsoft Windows 11 ialah sistem pengendalian terkini yang dilancarkan oleh Microsoft, dengan gaya reka bentuk baharu dan banyak fungsi praktikal. Walau bagaimanapun, bagi sesetengah pengguna, perlu log masuk ke akaun Microsoft mereka setiap kali mereka boot sistem boleh menjadi agak menjengkelkan. Jika anda salah seorang daripada mereka, anda juga boleh mencuba petua berikut, yang akan membolehkan anda melangkau log masuk dengan akaun Microsoft dan memasuki antara muka desktop secara langsung. Pertama, kita perlu mencipta akaun tempatan dalam sistem untuk log masuk dan bukannya akaun Microsoft. Kelebihan melakukan ini ialah

Perkara yang mesti dimiliki oleh veteran: Petua dan langkah berjaga-jaga untuk * dan & dalam bahasa C Perkara yang mesti dimiliki oleh veteran: Petua dan langkah berjaga-jaga untuk * dan & dalam bahasa C Apr 04, 2024 am 08:21 AM

Dalam bahasa C, ia mewakili penunjuk, yang menyimpan alamat pembolehubah lain & mewakili pengendali alamat, yang mengembalikan alamat memori pembolehubah. Petua untuk menggunakan penunjuk termasuk mentakrifkan penunjuk, membatalkan rujukan dan memastikan bahawa penunjuk menunjuk ke alamat yang sah & termasuk mendapatkan alamat pembolehubah, dan mengembalikan alamat elemen pertama tatasusunan apabila mendapatkan alamat elemen tatasusunan; . Contoh praktikal yang menggambarkan penggunaan penunjuk dan pengendali alamat untuk membalikkan rentetan.

Apakah petua untuk orang baru membuat borang? Apakah petua untuk orang baru membuat borang? Mar 21, 2024 am 09:11 AM

Kami sering membuat dan mengedit jadual dalam excel, tetapi sebagai orang baru yang baru bersentuhan dengan perisian, cara menggunakan excel untuk mencipta jadual bukanlah semudah bagi kami. Di bawah, kami akan menjalankan beberapa latihan mengenai beberapa langkah penciptaan meja yang perlu dikuasai oleh pemula, iaitu pemula, Kami berharap ia akan membantu mereka yang memerlukan. Contoh borang untuk pemula ditunjukkan di bawah: Mari lihat cara melengkapkannya! 1. Terdapat dua kaedah untuk mencipta dokumen excel baharu. Anda boleh klik kanan tetikus pada lokasi kosong pada fail [Desktop] - [Baru] - [xls]. Anda juga boleh [Mula]-[Semua Program]-[Microsoft Office]-[Microsoft Excel 20**] 2. Dwiklik bekas baharu kami

Panduan Bermula VSCode: Mesti dibaca untuk pemula untuk menguasai kemahiran penggunaan dengan cepat! Panduan Bermula VSCode: Mesti dibaca untuk pemula untuk menguasai kemahiran penggunaan dengan cepat! Mar 26, 2024 am 08:21 AM

VSCode (Visual Studio Code) ialah editor kod sumber terbuka yang dibangunkan oleh Microsoft Ia mempunyai fungsi yang berkuasa dan sokongan pemalam yang kaya, menjadikannya salah satu alat pilihan untuk pembangun. Artikel ini akan menyediakan panduan pengenalan untuk pemula untuk membantu mereka menguasai kemahiran menggunakan VSCode dengan cepat. Dalam artikel ini, kami akan memperkenalkan cara memasang VSCode, operasi penyuntingan asas, kekunci pintasan, pemasangan pemalam, dsb., dan menyediakan contoh kod khusus kepada pembaca. 1. Pasang VSCode dahulu, kita perlu

Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Kemahiran pengaturcaraan PHP: Bagaimana untuk melompat ke halaman web dalam masa 3 saat Mar 24, 2024 am 09:18 AM

Tajuk: Petua Pengaturcaraan PHP: Cara Melompat ke Halaman Web dalam masa 3 Saat Dalam pembangunan web, kita sering menghadapi situasi di mana kita perlu melompat ke halaman lain secara automatik dalam tempoh masa tertentu. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan teknik pengaturcaraan untuk melompat ke halaman dalam masa 3 saat, dan memberikan contoh kod khusus. Pertama sekali, prinsip asas lompat halaman direalisasikan melalui medan Lokasi dalam pengepala respons HTTP. Dengan menetapkan medan ini, penyemak imbas secara automatik boleh melompat ke halaman yang ditentukan. Di bawah ialah contoh mudah yang menunjukkan cara menggunakan P

Trik Win11 Didedahkan: Cara Memintas Log Masuk Akaun Microsoft Trik Win11 Didedahkan: Cara Memintas Log Masuk Akaun Microsoft Mar 27, 2024 pm 07:57 PM

Helah Win11 didedahkan: Cara memintas log masuk akaun Microsoft Baru-baru ini, Microsoft melancarkan sistem pengendalian baharu Windows11, yang telah menarik perhatian meluas. Berbanding dengan versi sebelumnya, Windows 11 telah membuat banyak pelarasan baharu dari segi reka bentuk antara muka dan penambahbaikan fungsi, tetapi ia juga telah menyebabkan beberapa kontroversi Perkara yang paling menarik perhatian ialah ia memaksa pengguna untuk log masuk ke sistem dengan akaun Microsoft . Bagi sesetengah pengguna, mereka mungkin lebih terbiasa log masuk dengan akaun tempatan dan tidak bersedia untuk mengikat maklumat peribadi mereka ke akaun Microsoft.

Petua untuk menggunakan kelas borang Laravel: cara untuk meningkatkan kecekapan Petua untuk menggunakan kelas borang Laravel: cara untuk meningkatkan kecekapan Mar 11, 2024 pm 12:51 PM

Borang adalah bahagian penting dalam menulis laman web atau aplikasi. Laravel, sebagai rangka kerja PHP yang popular, menyediakan kelas bentuk yang kaya dan berkuasa, menjadikan pemprosesan borang lebih mudah dan lebih cekap. Artikel ini akan memperkenalkan beberapa petua tentang menggunakan kelas borang Laravel untuk membantu anda meningkatkan kecekapan pembangunan. Yang berikut menerangkan secara terperinci melalui contoh kod tertentu. Mencipta borang Untuk mencipta borang dalam Laravel, anda perlu menulis borang HTML yang sepadan dalam paparan terlebih dahulu. Apabila bekerja dengan borang, anda boleh menggunakan Laravel

See all articles