Jetzt beginnen immer mehr Websites, Bestätigungscodes für chinesische Schriftzeichen zu verwenden, was nicht nur die Intimität unserer Mitarbeiter erhöht, sondern auch die Schwierigkeit des maschinellen Knackens erhöht.
Hintergrundleinwand erstellen
$image = imagecreatetruecolor(200, 60); $background = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $background);
Interferenzpunkte zeichnen
for ($i=0; $i < 300; $i++) { $pixColor = imagecolorallocate($image, rand(150, 240), rand(150, 240), rand(150, 240)); $pixX = rand(10, 190); $pixY = rand(5, 55); imagesetpixel($image, $pixX, $pixY, $pixColor); }
Interferenzlinien zeichnen
//4条水平线 for ($i=0; $i < 5; $i++) { $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150)); $lineX1 = 0; $lineX2 = 300; $lineY1 = ($i + 1) * 12; $lineY2 = ($i + 1) * 12; imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor); } //10条垂直线 for ($i=0; $i < 30; $i++) { $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150)); $lineX1 = ($i + 1) * 10; $lineX2 = ($i + 1) * 10; $lineY1 = 0; $lineY2 = 60; imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor); }
Zeichnen Sie chinesische Schriftzeichen
$text = array('栀', '子', '花', '开'); for ($i=0; $i < 4; $i++) { $textColor = imagecolorallocate($image, rand(20, 100), rand(20, 100), rand(20, 100)); $textX = $i * 50 + 10; $textY = rand(40, 60); imagettftext($image, 30, rand(20, 50), $textX, $textY, $textColor, "/Library/Fonts/华文仿宋.ttf", $text[$i]); }
Beachten Sie hier, dass die Schriftartdatei Chinesisch unterstützen muss
Die Codierung sollte utf-8 verwenden. Denken Sie daran, GBK-Chinesisch zu konvertieren? [iconv-Funktion kann Ihnen helfen]
Bild ausgeben
header("Content-Type:image/png"); imagepng($image);
Ressourcen zerstören
imagedestroy($image);
Nach einem groben Prozess tun Sie es , Der chinesische Bestätigungscode wird angezeigt. Wenn eine Website verwendet wird, gibt es natürlich einen Samen für die chinesische Schriftzeichenbibliothek, aus dem eine bestimmte Anzahl chinesischer Schriftzeichen zufällig ausgewählt und angezeigt und schließlich in der Sitzung zur Überprüfung aufgezeichnet wird.
Das obige ist der detaillierte Inhalt vonDie Idee, einen einfachen Verifizierungscode für chinesische Schriftzeichen in PHP zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!