Heim  >  Artikel  >  Backend-Entwicklung  >  So erstellen Sie einen PHP-Bestätigungscode

So erstellen Sie einen PHP-Bestätigungscode

墨辰丷
墨辰丷Original
2018-06-05 13:42:471429Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Erstellung von PHP-Verifizierungscode vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Bestätigungscodes werden immer häufiger in Formularen implementiert, aber in js geschriebene Bestätigungscodes fühlen sich immer unpraktisch an, deshalb habe ich gelernt, wie Bestätigungscodes in PHP implementiert sind. Nun, ich hatte eigentlich nichts zu tun, aber ich wollte keine Zeit verschwenden, also habe ich gelernt, wie man Verifizierungscodes in PHP implementiert. Wie das Sprichwort sagt: Zu viele Fähigkeiten zu haben, belastet Sie nicht. Darüber hinaus kann es auch in eine Funktion gekapselt werden, was für die zukünftige Verwendung sehr praktisch ist. Natürlich ist es jetzt nicht gekapselt.

Hier ist zunächst ein Rendering:

1. Erzeugen Sie ein PNG-Bild

2. Legen Sie die Einstellungen für die Hintergrundfarbe fest
3. Legen Sie die Schriftfarbe und den Schriftstil fest
4. Generieren Sie einen 4-stelligen zufälligen Bestätigungscode
5. Passen Sie den Drehwinkel und die Position jedes generierten Zeichens an und zeichnen Sie es auf dem PNG-Bild
6 . Fügen Sie Rausch- und Interferenzlinien hinzu, um zu verhindern, dass Registrierungsmaschinen das Originalbild auf böswillige Registrierung analysieren
7. Geben Sie das Bild aus
8. Geben Sie den vom Bild belegten Speicher frei

authcode.php Datei

Code

<?php
session_start ();
header ( &#39;Content-type: image/png&#39; );
//创建图片
$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 = &#39;rock.ttf&#39;; //字体样式,这个可以从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[&#39;authcode&#39;] = $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); 
?>

Zusammenfassung: Das Obige ist hoffentlich der gesamte Inhalt dieses Artikels Es kann für die Lernhilfe jedes Einzelnen nützlich sein.

Verwandte Empfehlungen:

So implementieren Sie eine einfache Wahrscheinlichkeit in PHP

Methoden und einfache Beispiele der While-Schleifensteuerung in PHP

So implementieren Sie domänenübergreifende Operationen in PHP

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen PHP-Bestätigungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn