<?php
// Filename: captcha.php
session_start();

// Generate random code
$code = rand(1000, 9999);
$_SESSION["captcha_code"] = $code;

// Create image
$im = imagecreatetruecolor(100, 38);
$bg = imagecolorallocate($im, 22, 160, 133); // Green background
$fg = imagecolorallocate($im, 255, 255, 255); // White text

// Fill background
imagefill($im, 0, 0, $bg);

// Add noise (dots)
for ($i = 0; $i < 50; $i++) {
    imagesetpixel($im, rand(0, 100), rand(0, 38), $fg);
}

// Write text
imagestring($im, 5, 30, 10, $code, $fg);

// Output
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>