= 1000) && ($_REQUEST['ref'] <= 9999) && (in_array($_REQUEST['type'],$types)))) exit; // Stop uitvoering als parameters verdacht zijn if (@(!($captcha = base64_decode(fread(fopen("secure/" . $_REQUEST['ref'],r),8))))) exit; // Haal captcha op en stop uitvoering bij een bestandsfout switch ($_REQUEST['type']) { // Genereer een afbeelding of een geluidsfragment case ("png") : header("Content-Type: image/png"); genPNG($captcha); case ("wav") : header("Content-Type: audio/x-wav"); genWAV($captcha); break; default : exit; break; }; function genPNG($captcha) { // Genereer een afbeelding $img = imagecreate(75, 35); // Afbeelding initialiseren $font = "baccarat.ttf"; // Lettertype kiezen $v = rand(0,100); // Willekeurige voorgrondkleur kiezen (tint van grijs) $voor = imagecolorallocate($img, $v, $v, $v); $a = rand(150,200); // Willekeurige achtergrondkleur kiezen (tint van grijs) $achter = imagecolorallocate($img, $a, $a, $a); for ($i = 0; $i < 75 / 2; $i++) // Streepjes maken imageline($img, $i * 5, 0, $i * 10, 50, $achter); imagettftext($img, 20, 0, 10, 28, $achter, $font, $captcha); // Tekst erop plakken if (!@(imagepng($img))) // Retourneer false indien mislukt return false; else imagedestroy($img); // Opkuisen } function genWAV($captcha) { // Genereer een geluidsfragment $cijfers = array( // Maak array met cijfertjes "0-9/" . substr($captcha,0,1) . ".wav", "0-9/" . substr($captcha,1,1) . ".wav", "0-9/" . substr($captcha,2,1) . ".wav", "0-9/" . substr($captcha,3,1) . "e.wav"); // Andere intonatie voor de laatste require_once("wavedit.class.php"); // Class aanroepen $wav = new wavEdit(); // Nieuw object maken $wData = $wav->getFiles($cijfers); // Array met wavefiles inladen $wav->joinFiles(); // Aan elkaar plakken if (!@$wav->outputAudio($ref)) // Retourneer false indien mislukt return false; } ?>