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 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.
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 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);
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 { // 验证码错误,给出提示并刷新验证码 }
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>
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!