Saturday, September 8, 2012

simple create capcha code using php

<?php
session_start();

/*
* File: CaptchaSecurityImages.php
* Author: bikash ranjan nayak
* Copyright: 2012 bikash

* Updated: 07/09/12
* Requirements: PHP 4/5 with GD and

class CaptchaSecurityImagesbybikash {

    var $font = &#039;monofont.ttf&#039;;

    function generateCode($characters) {
        /* list all possible characters, similar looking characters and vowels have been removed */
        $possible = &#039;23456789bcdfghjkmnpqrstvwxyz&#039;;
        $code = &#039;&#039;;
        $i = 0;
        while ($i generateCode($characters);
        /* font size will be 75% of the image height */
        $font_size = $height * 0.75;
        $image = @imagecreate($width, $height) or die('Cannot initialize new GD image stream');
        /* set the colours */
        $background_color = imagecolorallocate($image, 255, 255, 255);
        $text_color = imagecolorallocate($image, 20, 40, 100);
        $noise_color = imagecolorallocate($image, 100, 120, 180);
        /* generate random dots in background */
        for( $i=0; $i&lt;($width*$height)/3; $i++ ) {
            imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
        }
        /* generate random lines in background */
        for( $i=0; $ifont, $code) or die('Error in imagettfbbox function');
        $x = ($width - $textbox[4])/2;
        $y = ($height - $textbox[5])/2;
        imagettftext($image, $font_size, 0, $x, $y, $text_color, $this-&gt;font , $code) or die('Error in imagettftext function');
        /* output captcha image to browser */
        header('Content-Type: image/jpeg');
        imagejpeg($image);
        imagedestroy($image);
        $_SESSION['security_code'] = $code;
    }

}

$width = isset($_GET['width']) ? $_GET['width'] : '120';
$height = isset($_GET['height']) ? $_GET['height'] : '40';
$characters = isset($_GET['characters']) &amp;&amp; $_GET['characters'] &gt; 1 ? $_GET['characters'] : '6';

$captcha = new CaptchaSecurityImagesbybikash($width,$height,$characters);

?>

<img src="/wp-content/themes/avd/CaptchaSecurityImages.php?width=162&amp;height=45&amp;characters=5" />

No comments:

Post a Comment