Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh untuk menerangkan cara melaksanakan penyegaran kod pengesahan dalam PHP

Contoh untuk menerangkan cara melaksanakan penyegaran kod pengesahan dalam PHP

PHPz
PHPzasal
2023-04-10 09:41:261510semak imbas

Dengan perkembangan pesat Internet, isu keselamatan rangkaian menjadi semakin penting. Untuk melindungi privasi pengguna dan keselamatan data, banyak tapak web akan menambah fungsi kod pengesahan pada halaman log masuk atau pendaftaran pengguna. Fungsi pengesahan ini dilaksanakan dalam banyak bahasa pengaturcaraan Berikut akan memperkenalkan cara PHP melaksanakan penyegaran kod pengesahan.

1. Apakah itu kod pengesahan

Kod pengesahan ialah teknologi pengesahan manusia-komputer yang digunakan untuk menentukan sama ada pengguna adalah pengguna sebenar. Kod pengesahan biasa termasuk nombor, huruf dan grafik. Antaranya, kod pengesahan grafik adalah kaedah yang agak biasa, yang kebanyakannya memaparkan gambar yang dijana secara rawak kepada pengguna, membolehkan pengguna mengenal pasti kandungan dalam gambar yang dipaparkan dan memasukkannya ke dalam kotak input.

2. Cara memuat semula kod pengesahan dalam PHP

PHP boleh memuat semula kod pengesahan melalui perpustakaan GD. Pustaka GD ialah perpustakaan lukisan untuk PHP yang memudahkan untuk mencipta imej dan grafik.

Seterusnya, kami akan memperkenalkan cara melaksanakan fungsi penyegaran semula kod pengesahan melalui perpustakaan GD php.

  1. Pertama, kita perlu membuat kod pengesahan menggunakan perpustakaan GD.
<?php
session_start();

//创建画布
$width = 120;
$height = 45;
$img = imagecreate($width, $height);

//设置画布背景色
$bg_color = imagecolorallocate($img, 255, 255, 255);

//设置字体颜色
$text_color = imagecolorallocate($img, 0, 0, 0);

//绘制验证码
$code = "";
$length = 4; //验证码字符数
for ($i = 0; $i < $length; $i++) {
    $rand = rand(0, 9); //生成随机数字
    $code .= $rand; //将随机数字拼接为验证码字符串
    $x = floor($width / $length) * $i + 5; //计算字符x轴坐标
    $y = rand(0, $height - 15); //生成随机y轴坐标
    imagestring($img, 5, $x, $y, $rand, $text_color); //绘制字符
}

//将验证码存入session
$_SESSION[&#39;code&#39;] = $code;

//设置响应头,输出验证码图片
header("Content-type:image/png");
imagepng($img);

//释放资源
imagedestroy($img);
?>
  1. Selepas membuat kod pengesahan, kami perlu memaparkan kod pengesahan pada halaman dan menyediakan fungsi menyegarkan semula kod pengesahan.
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>验证码</title>
</head>
<body>
    <h2>验证码:</h2>
    <img id="code_img" src="code.php">
    <a href="javascript:void(0);" onclick="refreshCode()">刷新</a>
    <script>
        function refreshCode() {
            document.getElementById("code_img").src = "code.php?" + Math.random(); //为验证码url添加随机数实现刷新
        }
    </script>
</body>
</html>

Dalam kod di atas, kami memuat semula kod pengesahan dengan mengklik butang "Muat Semula" untuk memanggil fungsi refreshCode(). Antaranya, nombor rawak ditambah pada fail php untuk mencapai kesan menyegarkan kod pengesahan.

3. Ringkasan

Melalui perpustakaan GD php, kami boleh mencipta imej dan grafik dengan mudah serta melaksanakan fungsi kod pengesahan. Artikel ini memperkenalkan kepada anda cara melaksanakan penyegaran kod pengesahan dalam PHP melalui contoh kod. Saya berharap pembaca dapat mempelajari sedikit pengetahuan dan kemahiran praktikal.

Atas ialah kandungan terperinci Contoh untuk menerangkan cara melaksanakan penyegaran kod pengesahan dalam 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