


Cara menggunakan PHP untuk menjana imej kod pengesahan gaya disesuaikan
Cara menggunakan PHP untuk menjana imej kod pengesahan gaya yang boleh disesuaikan
Kod pengesahan ialah cara teknikal yang digunakan untuk menghalang akses atau pendaftaran berniat jahat oleh robot. Dengan menjana kod pengesahan yang sukar dikenali oleh mesin, keselamatan tapak web boleh dipertingkatkan dengan berkesan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menjana imej kod pengesahan gaya yang boleh disesuaikan dan memberikan contoh kod khusus.
Pertama sekali, kami perlu menjelaskan keperluan asas kod pengesahan. Secara umumnya, kod pengesahan harus mengandungi beberapa huruf dan nombor rawak, dan mempunyai kesan herotan tertentu untuk meningkatkan kesukaran pengecaman mesin. Pada masa yang sama, latar belakang imej kod pengesahan hendaklah berupa bunyi atau lengkung rawak untuk menghalang mesin daripada mengenal pasti berdasarkan peraturan.
Berikut ialah contoh kod fungsi PHP yang menghasilkan imej kod pengesahan:
function generateCaptcha($length = 6, $width = 120, $height = 40) { // 创建一张空白的图片 $image = imagecreatetruecolor($width, $height); // 设置验证码图片的背景色 $bgColor = imagecolorallocate($image, 255, 255, 255); // 填充背景色 imagefilledrectangle($image, 0, 0, $width, $height, $bgColor); // 验证码的字符集 $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // 随机生成验证码 $captcha = ''; for ($i = 0; $i < $length; $i++) { $captcha .= $characters[rand(0, strlen($characters) - 1)]; } // 设置字体颜色 $textColor = imagecolorallocate($image, 0, 0, 0); // 将验证码绘制到图片上 $font = 'path/to/your/font.ttf'; $fontSize = $height * 0.6; $x = ($width - $length * $fontSize) / 2; $y = ($height - $fontSize) / 2 + $fontSize; imagettftext($image, $fontSize, 0, $x, $y, $textColor, $font, $captcha); // 添加一些随机的噪点或曲线 for ($i = 0; $i < $width * $height * 0.1; $i++) { imagesetpixel($image, rand(0, $width), rand(0, $height), $textColor); } // 输出图片 header('Content-type: image/png'); imagepng($image); imagedestroy($image); // 返回验证码值,用于验证用户输入 return $captcha; }
Dalam kod contoh di atas, parameter $length
digunakan untuk menentukan panjang kod pengesahan, dan lalai ialah 6; $ Parameter width
dan $height
digunakan untuk menentukan lebar dan tinggi imej. Anda boleh menyesuaikannya mengikut keperluan. $length
参数用于指定验证码的长度,默认为6;$width
和$height
参数用于指定图片的宽度和高度,默认为120和40。你可以根据需要进行调整。
在使用这个函数生成验证码图片时,你可以根据自己的需要,修改背景色、字体颜色、噪点颜色等,以达到自定义风格的效果。同时,你需要指定一个自己的字体文件,替换$font
变量的值。
接下来,我们来看看如何调用这个函数生成并显示验证码图片:
// 调用生成验证码函数 $captcha = generateCaptcha(); // 将验证码值存储到Session中,以备后续验证 session_start(); $_SESSION['captcha'] = $captcha; // 输出HTML,显示验证码图片 echo '<img src="/static/imghw/default1.png" data-src="captcha.php" class="lazy" alt="验证码">';
以上示例代码中,generateCaptcha()
函数会返回生成的验证码值,我们将其存储到Session中以备后续验证。然后,你可以在HTML代码中使用<img alt="Cara menggunakan PHP untuk menjana imej kod pengesahan gaya disesuaikan" >
标签来显示验证码图片,其中src
$font
. Seterusnya, mari lihat cara memanggil fungsi ini untuk menjana dan memaparkan imej kod pengesahan: 🎜rrreee🎜Dalam kod contoh di atas, fungsi generateCaptcha()
akan mengembalikan nilai kod pengesahan yang dijana, kami akan Menyimpannya dalam Sesi untuk pengesahan seterusnya. Kemudian, anda boleh menggunakan teg <img alt="Cara menggunakan PHP untuk menjana imej kod pengesahan gaya disesuaikan" >
dalam kod HTML untuk memaparkan imej kod pengesahan, di mana atribut src
menghala ke URL tempat imej kod pengesahan dijana . 🎜🎜Dengan contoh kod di atas, kami boleh menyesuaikan gaya mengikut keperluan kami sendiri dan menjana imej kod pengesahan dengan kesan herot. Dengan cara ini, kami boleh menangani serangan bot dan gelagat pendaftaran berniat jahat dengan lebih baik serta meningkatkan keselamatan tapak web. 🎜Atas ialah kandungan terperinci Cara menggunakan PHP untuk menjana imej kod pengesahan gaya disesuaikan. 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

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

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

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

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data
