Maison >développement back-end >tutoriel php >Principes de base du code de vérification php
Cet article présente principalement les principes de base du code de vérification PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
1. Idées de production
Étant donné que les codes d'enregistrement sont souvent utilisés lors de l'enregistrement pour empêcher l'enregistrement malveillant des machines, je publie ici une image de base qui génère un code de vérification d'image png , analyse d'idée simple :
1. Générez une image png
2. Définissez la couleur d'arrière-plan de l'image
3. Définissez la couleur et le style de la police
4. Code de vérification aléatoire
5. Ajustez l'angle de rotation et la position de chaque caractère généré et dessinez-le sur l'image png
6. Ajoutez des lignes de bruit et d'interférence pour empêcher les machines d'enregistrement d'analyser l'image originale pour un enregistrement malveillant
7. Image de sortie
8. Libérez la mémoire occupée par l'image
2. Méthode de mise en œuvre
fichier authcode.php
<?php session_start (); header ( 'Content-type: image/png' ); //创建图片 $im = imagecreate($x=130,$y=45 ); $bg = imagecolorallocate($im,rand(50,200),rand(0,155),rand(0,155)); //第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色 $fontColor = imageColorAllocate ( $im, 255, 255, 255 ); //字体颜色 $fontstyle = 'rock.ttf'; //字体样式,这个可以从c:\windows\Fonts\文件夹下找到,我把它放到和authcode.php文件同一个目录,这里可以替换其他的字体样式 //产生随机字符 for($i = 0; $i < 4; $i ++) { $randAsciiNumArray = array (rand(48,57),rand(65,90)); $randAsciiNum = $randAsciiNumArray [rand ( 0, 1 )]; $randStr = chr ( $randAsciiNum ); imagettftext($im,30,rand(0,20)-rand(0,25),5+$i*30,rand(30,35),$fontColor,$fontstyle,$randStr); $authcode .= $randStr; } $_SESSION['authcode'] = $randFourStr;//用户和用户输入的验证码做比较 //干扰线 for ($i=0;$i<8;$i++){ $lineColor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imageline ($im,rand(0,$x),0,rand(0,$x),$y,$lineColor); } //干扰点 for ($i=0;$i<250;$i++){ imagesetpixel($im,rand(0,$x),rand(0,$y),$fontColor); } imagepng($im); imagedestroy($im); ?>
Image d'effet :
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun. Recommandations associées :Fonction PHP pour convertir des montants numériques en montants chinois majuscules
La composition et le type des variables PHP
Conseils d'utilisation de la fonction PHParray_multisort
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!