mirror of
https://github.com/Mibew/java.git
synced 2025-01-24 18:40:34 +03:00
66 lines
2.1 KiB
PHP
66 lines
2.1 KiB
PHP
|
<?
|
||
|
/*
|
||
|
This is PHP file that generates CAPTCHA image for the How to Create CAPTCHA Protection using PHP and AJAX Tutorial
|
||
|
|
||
|
You may use this code in your own projects as long as this
|
||
|
copyright is left in place. All code is provided AS-IS.
|
||
|
This code is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
|
||
|
For the rest of the code visit http://www.WebCheatSheet.com
|
||
|
|
||
|
Copyright 2006 WebCheatSheet.com
|
||
|
|
||
|
*/
|
||
|
|
||
|
//Start the session so we can store what the security code actually is
|
||
|
session_start();
|
||
|
|
||
|
//Send a generated image to the browser
|
||
|
create_image();
|
||
|
exit();
|
||
|
|
||
|
function create_image()
|
||
|
{
|
||
|
//Let's generate a totally random string using md5
|
||
|
$md5_hash = md5(rand(0,999));
|
||
|
//We don't need a 32 character long string so we trim it down to 5
|
||
|
$security_code = substr($md5_hash, 15, 5);
|
||
|
|
||
|
//Set the session to store the security code
|
||
|
$_SESSION["security_code"] = $security_code;
|
||
|
|
||
|
//Set the image width and height
|
||
|
$width = 100;
|
||
|
$height = 20;
|
||
|
|
||
|
//Create the image resource
|
||
|
$image = ImageCreate($width, $height);
|
||
|
|
||
|
//We are making three colors, white, black and gray
|
||
|
$white = ImageColorAllocate($image, 255, 255, 255);
|
||
|
$black = ImageColorAllocate($image, 0, 0, 0);
|
||
|
$grey = ImageColorAllocate($image, 204, 204, 204);
|
||
|
|
||
|
//Make the background black
|
||
|
ImageFill($image, 0, 0, $black);
|
||
|
|
||
|
//Add randomly generated string in white to the image
|
||
|
ImageString($image, 3, 30, 3, $security_code, $white);
|
||
|
|
||
|
//Throw in some lines to make it a little bit harder for any bots to break
|
||
|
ImageRectangle($image,0,0,$width-1,$height-1,$grey);
|
||
|
imageline($image, 0, $height/2, $width, $height/2, $grey);
|
||
|
imageline($image, $width/2, 0, $width/2, $height, $grey);
|
||
|
|
||
|
//Tell the browser what kind of file is come in
|
||
|
header("Content-Type: image/jpeg");
|
||
|
|
||
|
//Output the newly created image in jpeg format
|
||
|
ImageJpeg($image);
|
||
|
|
||
|
//Free up resources
|
||
|
ImageDestroy($image);
|
||
|
}
|
||
|
?>
|