Rumah > pembangunan bahagian belakang > tutorial php > Petua untuk mengelakkan kod pengesahan PHP tidak dipaparkan selepas menyalin dan menampalnya

Petua untuk mengelakkan kod pengesahan PHP tidak dipaparkan selepas menyalin dan menampalnya

WBOY
Lepaskan: 2024-03-01 09:46:01
asal
1268 orang telah melayarinya

Petua untuk mengelakkan kod pengesahan PHP tidak dipaparkan selepas menyalin dan menampalnya

Petua untuk mengelakkan kod pengesahan PHP tidak muncul selepas menyalin dan menampalnya

Dengan perkembangan Internet, kod pengesahan digunakan secara meluas dalam pelbagai tapak web dan aplikasi sebagai cara yang berkesan untuk mencegah serangan robot berniat jahat. Dalam pembangunan PHP, fungsi kod pengesahan biasa termasuk nombor, huruf, kod pengesahan gabungan, dll. Walau bagaimanapun, kadangkala apabila menyalin dan menampal kod pengesahan pada halaman web, masalah tidak akan dipaparkan. Artikel ini akan memperkenalkan beberapa teknik untuk membantu pembangun mengelakkan kod pengesahan PHP yang tidak dipaparkan selepas menyalin dan menampalnya dan memberikan contoh kod khusus.

Analisis Masalah

Di halaman web, pengguna mungkin menghadapi situasi di mana mereka perlu memasukkan kod pengesahan, seperti mendaftar akaun, menyerahkan borang, dsb. Apabila pengguna melihat kod pengesahan, mereka akan menyalin dan menampalnya ke dalam kotak input untuk memastikan ketepatan input. Walau bagaimanapun, kadangkala selepas menampal kod pengesahan, ia tidak dipaparkan pada halaman web, menyebabkan pengguna tidak dapat mengesahkan sama ada kod pengesahan yang betul telah dimasukkan, yang membawa masalah kepada pengalaman pengguna.

Penyelesaian

1. Gunakan Sesi untuk menyimpan kod pengesahan

Penyelesaian biasa ialah menyimpan kod pengesahan dalam Sesi semasa menjana kod pengesahan dan memaparkan imej kod pengesahan pada halaman semasa menyimpan kod pengesahan disimpan dalam Sesi. Apabila pengguna menampal kod pengesahan dalam kotak input, kod pengesahan yang dimasukkan oleh pengguna disahkan melalui nilai dalam Sesi.

// 生成验证码
session_start();
$randomCode = mt_rand(1000, 9999);
$_SESSION['captcha'] = $randomCode;

// 在页面上显示验证码图片
header('Content-type: image/png');
$image = imagecreate(100, 30);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 10, 5, $randomCode, $textColor);
imagepng($image);
imagedestroy($image);
Salin selepas log masuk

2. Pengesahan kod pengesahan

Apabila pengguna menyerahkan borang, sahkan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah konsisten dengan kod pengesahan yang disimpan dalam Sesi.

session_start();
if ($_POST['captcha'] == $_SESSION['captcha']) {
    // 验证码正确,继续后续操作
} else {
    // 验证码错误,给出提示并刷新验证码
}
Salin selepas log masuk

3. Tambah butang muat semula kod pengesahan

Untuk memudahkan pengguna mendapatkan semula kod pengesahan apabila kod pengesahan tidak dipaparkan atau salah, anda boleh menambah butang muat semula kod pengesahan dan paparkan kod pengesahan baharu.

<button onclick="location.reload();">刷新验证码</button>
Salin selepas log masuk

Melalui kaedah di atas, anda boleh mengelakkan situasi di mana kod pengesahan PHP tidak dipaparkan selepas menyalin dan menampalnya, sambil meningkatkan pengalaman pengguna dan keselamatan laman web. Saya harap artikel ini dapat membantu pembangun PHP dalam melaksanakan fungsi kod pengesahan.

Atas ialah kandungan terperinci Petua untuk mengelakkan kod pengesahan PHP tidak dipaparkan selepas menyalin dan menampalnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan