Kod pengesahan untuk pembangunan PHP
Banyak tapak web akan mempunyai kod pengesahan semasa log masuk. Di bawah ini kami akan memperkenalkan cara melaksanakan fungsi kod pengesahan.
Terdapat bahagian ini dalam kod halaman log masuk sebelumnya:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="format-detection" content="telephone=no" /> <title>登錄頁面實(shí)例展示</title> <link rel="stylesheet" type="text/css" href="/phpMyAdmin/login.css"/> </head> <body> <p> <span> <input type="text" name="code" id="code" class="pf_ipt_verify w230" placeholder="驗(yàn)證碼" autocomplete="off" tabindex="3"/> <img src="/phpMyAdmin/code.php" onClick="this.src='/phpMyAdmin/code.php?nocache='+Math.random()" style="cursor:hand"> </span> </p> </body> </html>
Ini adalah gambar kod pengesahan yang kita lihat pada halaman tersebut. Dengan memberikan imej kod pengesahan acara klik, anda boleh mengklik imej sekali dan menukar nombor yang berbeza.
Selain itu, cara kod pengesahan dijana ialah kod berikut:
<?php session_start(); Header("Content-type:image/PNG"); $im = imagecreate(150,45); $back = imagecolorallocate($im, 245, 245, 245); imagefill($im, 0,0, $back); $vcodes = ""; for($i = 0; $i < 4; $i++){ $font = imagecolorallocate($im, rand(100, 255), rand(0, 100), rand(100, 255)); $authnum = rand(0, 9); $vcodes .= $authnum; imagestring($im, 5, 50 + $i * 10, 20, $authnum, $font); } $_SESSION['VCODE'] = $vcodes; for($i=0;$i<200;$i++) { $randcolor = imagecolorallocate($im, rand(0, 255), rand(0, 255), rand(0, 255)); imagesetpixel($im, rand()%150, rand()%150, $randcolor); // } imagepng($im); imagedestroy($im); ?>
Ini ialah program latar belakang untuk penjanaan kod.
Nilai kod dalam kod back-end log masuk Satu adalah untuk menilai sama ada terdapat input, dan satu lagi adalah untuk menilai sama ada input adalah betul:
if(!$_POST['code']){ echo('驗(yàn)證碼不能為空'); return; }else if($_POST['code']!=$_SESSION['VCODE']){ echo('驗(yàn)證碼不正確'); return; }