Logo
Simple Image CAPTCHA
Online Now: 0

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
This is your most basic version of an image CAPTCHA.

image.php


<?php
header
("Content-type: image/png");
$string "abcdefghijklmnopqrstuvwxyz0123456789";
for(
$i=0;$i<6;$i++){
    
$pos rand(0,36);
    
$str .= $string{$pos};
}

$img_handle ImageCreate (6020) or die ("Cannot Create image");
//Image size (x,y)
$back_color ImageColorAllocate($img_handle255255255);
//Background color RBG
$txt_color ImageColorAllocate($img_handle000);
//Text Color RBG
ImageString($img_handle3150$str$txt_color);
Imagepng($img_handle);

session_start();
$_SESSION['img_number'] = $str;
?> 

form.php


<form action="result.php" method="post">
    <img alt="Random Number" src="image.php"> 
    <input type="text" name="num"><br>
    <input type="submit" name="submit" value="Check">
</form> 

result.php


<?php
session_start
();
if(
$_SESSION['img_number'] != $_POST['num']){
    echo
'The number you entered doesn't match the image.<br>
    <
a href="form.php">Try Again</a><br>';
}else{
    echo'
The numbers Match!<br>
    <
a href="form.php">Try Again</a><br>;
}
?>
 
Snippet Comments

Add Your Comment

Gerry
2007-07-17 00:00:00
is there anyway of styling the image?
neilfurry
2007-10-10 00:00:00
well I think mr.anonymous doesnt know the real meaning of "SIMPLE", what he is trying to imply is an ADVANCE type of captcha...lol..
jl
2007-07-01 00:00:00
if you want to generate a new image everytime you visit the "form" page, use this in begining of "image" code:

header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", false );
header( "Pragma: nocache" );
Anonymous
2007-05-16 00:00:00
It is not secure at all. No random lines, no distorted text... heh. Even the most basic bot can crack this, no sweat.
Admin
2007-03-26 00:00:00
Well... Anonymous That is one reason it is called a "Simple Image CAPTCHA". It is simple and it works like the more fancy ones.

I will try to create a fancier one though for future reference.
SomaFM
2007-02-16 00:00:00
"Anonymous", when you post a comment like that you should expand on why you think that.
Anonymous
2007-02-22 00:00:00
Well, unlike most captchas, there aren't any lines or anything, difference in colors, or anything that makes it seem "secure".
Anonymous
2007-02-13 00:00:00
Doesn't look very secure.
Admin
2007-02-13 00:00:00
It depends on what you mean by "Look and Feel" Do you want the image to have different text?
g
2007-02-13 00:00:00
how can u modify the the look of the image?
Admin
2007-02-09 00:00:00
Your Very Welcome!
SomaFM
2007-02-09 00:00:00
Nevermind. session_unset() does the trick :) Thanks for the great code!
SomaFM
2007-02-09 00:00:00
Great code. But is there anyway to end the session so the person can't use the back button and use the same code again in the form? I've tried placing session_destroy(); in my image.php script right before it creates a session. Also, I tried placing it in the page that gets executed by the form.
Wondering
2007-02-08 00:00:00
Can we see an example of what the final captcha will look like?

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Beginner
Current Score: 2.61
Total votes: 370
Total Views: 9175

Other top snippets by admin:

1. JPG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Logout Inactive User

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010