Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang cara menetapkan saiz fon dalam kod pengesahan PHP

Penjelasan terperinci tentang cara menetapkan saiz fon dalam kod pengesahan PHP

PHPz
PHPzasal
2023-04-03 19:20:461687semak imbas

Dengan perkembangan berterusan teknologi Internet, mekanisme kod pengesahan digunakan secara meluas dalam pendaftaran laman web, log masuk dan fungsi lain untuk memastikan keselamatan akaun pengguna. Sebagai salah satu bahasa pengaturcaraan yang paling biasa digunakan, PHP boleh melaksanakan fungsi kod pengesahan dengan mudah. Artikel ini akan memperkenalkan cara menetapkan saiz fon dalam kod pengesahan PHP.

1. Apakah itu kod pengesahan?

Nama penuh CAPTCHA ialah "Ujian Turing Awam Automatik Sepenuhnya untuk membezakan Komputer dan Manusia". Ringkasnya, kod pengesahan ialah soalan dengan ciri grafik komputer Ia menggunakan keupayaan persepsi visual manusia untuk membezakan pengguna sebenar dan penyerang komputer, dengan itu memastikan keselamatan sistem.

2. Bagaimana untuk menjana kod pengesahan dalam PHP?

Terdapat banyak cara untuk menjana kod pengesahan dalam PHP, seperti menggunakan pengesahan "sesi", menggunakan pustaka pemprosesan grafik GD, menggunakan perpustakaan pihak ketiga, dsb. Di bawah ini kami mengambil perpustakaan GD paling asas sebagai contoh untuk memperkenalkan proses pelaksanaan kod pengesahan.

1. Cipta kanvas

Pertama, kita perlu mencipta kanvas dengan lebar 100 dan ketinggian 50. Kodnya adalah seperti berikut:

$width = 100;//画布宽度
$height = 50;//画布高度
$image = imagecreatetruecolor($width, $height);//创建画布

2. Tetapkan warna dan fon

Seterusnya, kita perlu menetapkan warna dan fon kod pengesahan adalah seperti berikut:

$bgColor = imagecolorallocate($image, 255, 255, 255);//设置背景色
$textColor = imagecolorallocate($image, 0, 0, 0);//设置字体颜色
$font = './arial.ttf';//设置字体样式

3

Kemudian, kita perlu menghasilkan rentetan rawak yang mengandungi aksara rawak Grafik rentetan, kodnya adalah seperti berikut:

$code = '';//定义一个变量用于保存验证码
$len = 4;//定义验证码的长度
$codeChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';//定义验证码字符集
for($i = 0; $i < $len; $i++){
  $code .= $codeChars[mt_rand(0, strlen($codeChars)-1)];
}//生成验证码
imagestring($image, 5, 20, 15, $code, $textColor);//输出验证码

4 Keluarkan gambar

Akhir sekali, kami perlu mengeluarkan kod pengesahan grafik dan memberitahu pelayar bahawa output adalah gambar, kodnya adalah seperti berikut:

header('Content-type: image/png');//告诉浏览器输出的是一个图片
imagepng($image);//输出图片
imagedestroy($image);//销毁图片资源

Di atas adalah kod lengkap untuk menjana kod pengesahan menggunakan perpustakaan GD.

3. Bagaimana untuk menetapkan saiz fon kod pengesahan?

Secara lalai, kod pengesahan yang dijana oleh kod di atas mempunyai saiz fon 5. Kita boleh menetapkan saiz fon dengan menukar parameter pertama fungsi imagestring. Sebagai contoh, jika kita menukar nilainya daripada 5 kepada 10, saiz fon kod pengesahan akan menjadi dua kali ganda saiz asal. Kodnya adalah seperti berikut:

imagestring($image, 10, 20, 15, $code, $textColor);//设置字体大小为10

Selain menggunakan fungsi imagestring, anda juga boleh menggunakan fungsi imagettftext untuk mengeluarkan fon, yang menyokong lebih banyak gaya fon dan tetapan saiz fon. Sebagai contoh, kita boleh menukar kod di atas kepada bentuk berikut untuk mengeluarkan fon:

imagettftext($image, 10, 0, 20, 30, $textColor, $font, $code);//设置字体大小为10

Ringkasan

Artikel ini memperkenalkan cara menjana kod pengesahan dalam PHP dan butiran cara menetapkan up pengesahan Saiz fon dalam kod. Dalam aplikasi praktikal, kami boleh melaraskan saiz dan gaya fon secara fleksibel mengikut keperluan untuk menyediakan pengguna dengan perkhidmatan pendaftaran dan log masuk yang lebih selamat dan mudah.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara menetapkan saiz fon dalam kod pengesahan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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