Die Idee, einen einfachen Verifizierungscode für chinesische Schriftzeichen in PHP zu implementieren

藏色散人
Freigeben: 2023-04-07 13:06:01
nach vorne
2306 Leute haben es durchsucht

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);
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Zeichnen Sie chinesische Schriftzeichen

$text = array(&#39;栀&#39;, &#39;子&#39;, &#39;花&#39;, &#39;开&#39;);
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]);
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

Ressourcen zerstören

imagedestroy($image);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!