


Cara menjana kod pengesahan imej yang boleh dimuat semula menggunakan PHP
Cara menggunakan PHP untuk menjana kod pengesahan imej yang boleh dimuat semula
Dengan perkembangan Internet, untuk mengelakkan serangan berniat jahat dan operasi mesin automatik, banyak tapak web menggunakan kod pengesahan untuk pengesahan pengguna. Satu jenis kod pengesahan yang biasa ialah kod pengesahan imej, yang menghasilkan gambar yang mengandungi aksara rawak dan memerlukan pengguna memasukkan aksara yang betul sebelum meneruskan.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk menjana kod pengesahan imej yang boleh dimuat semula dan memberikan contoh kod khusus.
Langkah 1: Buat imej kod pengesahan
Pertama, kita perlu mencipta fungsi untuk menjana imej kod pengesahan. Melalui perpustakaan GD PHP, kami boleh memanipulasi imej dengan mudah. Berikut ialah contoh kod untuk mencipta imej kod pengesahan:
<?php function generateCaptcha($length = 6) { // 生成随机的验证码字符串 $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $captcha = ''; for ($i = 0; $i < $length; $i++) { $captcha .= $chars[rand(0, strlen($chars) - 1)]; } // 将验证码字符串保存到Session中,以备后续验证 session_start(); $_SESSION['captcha'] = $captcha; // 创建一个空白的验证码图片 $image = imagecreatetruecolor(120, 40); $background_color = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $background_color); // 在验证码图片上绘制随机的字符 $text_color = imagecolorallocate($image, 0, 0, 0); imagettftext($image, 20, 0, 10, 30, $text_color, 'path/to/font.ttf', $captcha); // 输出验证码图片 header('Content-type: image/png'); imagepng($image); imagedestroy($image); } ?>
Dalam kod di atas, fungsi generateCaptcha
digunakan untuk menjana kod pengesahan dan menyimpan rentetan kod pengesahan ke Sesi. Kemudian, buat gambar kod pengesahan kosong, tetapkan warna latar belakang, warna teks, fon dan parameter lain dan lukis kod pengesahan pada gambar. Akhir sekali, tetapkan jenis kandungan output kepada imej melalui fungsi header
, panggil fungsi imagepng
untuk mengeluarkan imej, dan kemudian musnahkan sumber imej. generateCaptcha
函数用于生成验证码,并将验证码字符串保存到Session中。然后,创建一个空白的验证码图片,设置背景色、文本颜色、字体等参数,并在图片上绘制验证码。最后,通过header
函数设置输出的内容类型为图片,调用imagepng
函数输出图片,然后销毁图片资源。
步骤二:使用验证码图片
下面是一个简单的示例代码,用于在网页中显示验证码图片并接受用户输入的验证码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>生成验证码</title> </head> <body> <form action="verify_captcha.php" method="post"> <label for="captcha">请输入验证码:</label> <input type="text" id="captcha" name="captcha"> <img src="/static/imghw/default1.png" data-src="captcha.php" class="lazy" alt="验证码"> <button type="submit">提交</button> </form> </body> </html>
在上述代码中,form
表单的action
属性指向一个验证验证码的PHP文件(如verify_captcha.php
),img
标签的src
属性指向生成验证码图片的PHP文件(如captcha.php
)。用户在输入框中输入验证码后,提交表单并进行验证。
步骤三:验证输入的验证码
最后,我们需要创建一个用于验证用户输入的验证码是否正确的PHP文件。以下是一个简单的验证验证码的示例代码:
<?php session_start(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $inputCaptcha = $_POST['captcha']; $captcha = $_SESSION['captcha']; if ($inputCaptcha === $captcha) { echo '验证码正确'; } else { echo '验证码错误'; } } ?>
在上述代码中,首先通过session_start
action
bagi kod> menunjukkan fail PHP yang mengesahkan kod pengesahan (seperti verify_captcha.php
), dan srcimg
Atribut /code> menghala ke fail PHP yang menjana imej kod pengesahan (seperti captcha.php
). Selepas pengguna memasukkan kod pengesahan dalam kotak input, borang diserahkan dan disahkan. 🎜🎜Langkah 3: Sahkan kod pengesahan yang dimasukkan🎜🎜Akhir sekali, kita perlu mencipta fail PHP yang mengesahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah betul. Berikut ialah contoh kod mudah untuk mengesahkan kod pengesahan: 🎜rrreee🎜Dalam kod di atas, Sesi dibuka untuk pertama kali melalui fungsi session_start
, dan kemudian kod pengesahan yang dimasukkan oleh pengguna dan pengesahan kod yang disimpan sebelum ini dalam Sesi diperolehi Buat perbandingan. Jika ia adalah sama, keluarkan "kod pengesahan adalah betul"; jika ia berbeza, keluarkan "kod pengesahan adalah salah". 🎜🎜Di atas ialah langkah dan contoh kod untuk menggunakan PHP untuk menjana kod pengesahan imej yang boleh dimuat semula. Dengan cara ini, kami menghalang mesin automatik daripada beroperasi dan meningkatkan keselamatan tapak web dan aplikasi kami. 🎜Atas ialah kandungan terperinci Cara menjana kod pengesahan imej yang boleh dimuat semula menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan
