Seite 1 von 1

[Video] PHP Schule - Eigenes Captcha - zufälliger Text

Verfasst: So 12. Jul 2015, 18:12
von Jasko
https://www.youtube.com/watch?v=ENphkjSB-uM

Fragen zum Video:

Re: [Video] PHP Schule - Eigenes Captcha - zufälliger Text

Verfasst: So 12. Jul 2015, 21:40
von Jasko
Code aus dem Video:

Code: Alles auswählen

<?php
//starten der session
session_start();

//alten capcha aus session loeschne
unset($_SESSION['captcha_code']);

//Grafik chache verhindern
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", false );
header( "Pragma: no-cache" );

//diese Datei erzeugt ein jpeg
header('Content-type: image/jpeg');

//Code generieren
$SymbolMenge = "2345689ABCDEFGH";
$ZufallString1 = substr(str_shuffle($SymbolMenge),0,2);
$ZufallString2 = substr(str_shuffle($SymbolMenge),0,2);
$ZufallString3 = substr(str_shuffle($SymbolMenge),0,2);

$KomplettString = $ZufallString1 . $ZufallString2 . $ZufallString3;

//Sicherheitscode
$_SESSION['captcha_code'] = md5($KomplettString);

//grafik erzeugen
$Schriftarten = array("Achafont.ttf","fettefra.ttf","Beautiful_ES.ttf");
$Bilddatei = imagecreatefrompng('hintergrund.png');

$blau = imagecolorallocate($Bilddatei, 0,19,127);
$rot = imagecolorallocate($Bilddatei, 255,0,0);
$pink = imagecolorallocate($Bilddatei, 255,0,220);

imagettftext($Bilddatei, 12, 15, 3, 24, $blau, $Schriftarten[0], $ZufallString1);
imagettftext($Bilddatei, 16, 0, 26, 15, $rot, $Schriftarten[2], $ZufallString2);
imagettftext($Bilddatei, 14, -20, 53, 18, $pink, $Schriftarten[1], $ZufallString3);

imagejpeg($Bilddatei);

//speicher freigeben
imagedestroy($Bilddatei);
?>
Achtung damit dieser Script funktinoniert muss man die hintergrund.png Datei selbst erstellen und entsprechende Font-Styles runterladen und zum entsprechenden Script einfühgen.

LG