Heim > Artikel > Backend-Entwicklung > Grundprinzipien des PHP-Verifizierungscodes
In diesem Artikel werden hauptsächlich die Grundprinzipien des PHP-Verifizierungscodes vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
1. Produktionsideen
Da bei der Registrierung häufig Registrierungscodes verwendet werden, um eine böswillige Registrierung von Maschinen zu verhindern, veröffentliche ich hier ein Basisbild, das einen PNG-Bildverifizierungscode generiert , einfache Ideenanalyse:
Erzeugen Sie ein PNG-Bild
2. Legen Sie die Hintergrundfarbe für das Bild fest
Legen Sie die Schriftfarbe und den Stil fest
4 Zufälliger Bestätigungscode
5. Passen Sie den Drehwinkel und die Position jedes generierten Zeichens an und zeichnen Sie es auf das PNG-Bild
6. Fügen Sie Rauschen und Interferenzlinien hinzu, um zu verhindern, dass Registrierungsmaschinen das Originalbild auf böswillige Registrierung analysieren
7. Bild ausgeben
8. Geben Sie den vom Bild belegten Speicher frei
2. Implementierungsmethode
authcode.php-Datei
<?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); ?>
Rendering:
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
PHP-Funktion zum Konvertieren numerischer Beträge in chinesische Großbuchstaben
Zusammensetzung und Typ von PHP-Variablen
Tipps zur Verwendung der PHParray_multisort-Funktion
Das obige ist der detaillierte Inhalt vonGrundprinzipien des PHP-Verifizierungscodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!