Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des Funktionscodes des Website-Bestätigungscodes mit PHP

Detaillierte Erläuterung des Funktionscodes des Website-Bestätigungscodes mit PHP

黄舟
黄舟Original
2017-03-07 09:48:562378Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Verwendung von PHP zur Implementierung der Website-Bestätigungscode-Funktion vorgestellt. Es hat einen sehr guten Referenzwert, schauen wir es uns mit dem Editor unten an

Bestätigungscode ist eine Sicherheitsmaßnahme, die häufig auf Websites verwendet wird, und es ist auch eine Fähigkeit, die für neue Webmaster schwer zu beherrschen ist. Hier stelle ich Ihnen eine einfache und effektive Methode zur Implementierung von Verifizierungscodes vor.

Bevor wir beginnen

Bevor wir offiziell beginnen, müssen wir die GD2-Grafikbibliotheksunterstützung von PHP aktivieren (suchen Sie nach „php_gd2.dll“ in php.ini und finden Sie „; extension=php_gd2.dll“ und entfernen Sie das Semikolon am Satzanfang.

Sie können sich beziehen auf: So öffnen Sie die gd2-Bibliothek von PHP

Kern: img.php

Diese Seite generiert einen Bestätigungscode und schreibt der richtige Wert Sitzung eingeben

Ein zufälliger 4-stelliger Bestätigungscode

$check=rand(1000,9999); 

wird generiert. Schreiben Sie den Bestätigungscode in die Sitzung

Session_start(); 
$_SESSION["check"] = $check;

Erstellen Sie ein Bild

$im = imagecreate(80,30);

Da der Hintergrund dieses Bildes standardmäßig schwarz ist, müssen wir ihn mit Weiß füllen.

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255)); 

Verwenden Sie imageline, um zufällig zwei durchgezogene Linien zu zeichnen

$y1=rand(0,30); 
$y2=rand(0,30); 
$y3=rand(0,30); 
$y4=rand(0,30); 
imageline($im,0,$y1,70, $y3,000); 
imageline($im,0,$y2,70, $y4,000);

Text an zufälligen Positionen zeichnen

$strx=rand(3,15); 
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));

Ausgabebild

Header("Content-type: image/PNG"); 
ImagePNG($img);

endet, das Folgende ist der vollständige Code

Benutzeroberfläche: index.php

Ich denke, jeder weiß, wie es geht, deshalb gebe ich den Code direkt

 <!DOCTYPE html>
<html>
<body>
<form action="action.php" method="post">
<input type="text" name="cikle" placeholder="验证码">
<br>
<img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit">
</form> 
</body>
</html>

Der obige Code übergibt den vom Benutzer eingegebenen Wert an „action.php“

Prüfung: action.php

Dieser Schritt zum Vergleichen des Benutzereingabewerts mit dem Wert in der Sitzung

ist gleich, die Ausgabe ist „richtig“

ist nicht gleich, die Ausgabe ist „falsch“

<?php
Session_start(); 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if($_SESSION["check"]!=intval($_POST["cikle"])){
 echo "不正确";
 }else{
 echo "正确";
 }
}


Das Obige ist die detaillierte Erklärung des Website-Bestätigungscode-Funktionscodes mit PHP. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). )!


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