Verification code in general, you can see some of the verification code picture that is so/
Why do I need authentication code
Effectively prevent a hacker to a specific registered user, using a specific program brute force to break the way to make constant landing attempts, that is, to prevent violent registration/Poor password/server rejection can affect the normal operation of the site behavior.
What is the operating mechanism of the Verification Code
Generates a session at the same time randomly produces the verification code, then through the form submits the data to compare with the verification code which saves in the session, correctly namely the verification code passes, otherwise the error prompts.
1,XBM file
This is a very simple example of showing XBM pictures, the digital mask is the main.
<%@ Language=javascript%>
<%
One of the simplest examples
Can be widely used in counters, clocks and so on any need to dynamically generate graphics places
By changing the value of contenttype, such as "Image/gif", you can make more beautiful graphics.
Response.ContentType = "Image/x-xbitmap";
Response.Write ("#define Counter_width 8\r\n"); Graphics width
Response.Write ("#define Counter_height 10\r\n");//Graphic high
Response.Write ("Static unsigned char counter_bits[]={\r\n");
Response.Write ("0x3c,0x66,0x60,0x60,0x30,0x18,0x0c,0x06,0x06,0x7e");//2 mask
Response.Write ("};\r\n");
%>
2, black and white XBM Random Verification Code (original author: John Crazy)
Xbm.asp: Main role, randomly display four-bit verification code, while generating session ("Validatecode")
<!--#include file= "numcode.asp"-->
<%
Response.Buffer = True
With Response
. Expires =-1
. AddHeader "Pragma", "No-cache"
. AddHeader "Cache-ctrol", "No-cache"
End With
Dim num
Randomize
num = Int (7999 * Rnd + 2000)
Session ("Validatecode") = num
Dim Image
Dim Width, Height
Dim digtal
Dim Length
Dim sort
DIM HC
Length = 4
HC = CHR & Chr (10)
Redim Sort (Length)
Digital = ""
For I = 1 to Length-len (num)
Digital = digital & "0"
Next
For I = 1 to Len (num)
Digital = digital & Mid (num, I, 1)
Next
For I = 1 to Len (digital)
Sort (i) = Mid (Digital, I, 1)
Next
Width = 8 * Len (digital)
Height = 10
Response.ContentType = "Image/x-xbitmap"
Image = "#define Counter_width" & Width & HC
Image = Image & "#define Counter_height" & Height & HC
Image = image & "static unsigned char counter_bits[] = {" & HC
For I = 1 to Height
For J = 1 to Length
Image = Image & A (sort (J), I) & ","
Next
Next
Image = Left (image, Len (image)-1)
Image = Image & "};" & HC
Response.Write Image
%>
Contains files <!--#include file= "numcode.asp" is the main content of the digital mask
Numcode.asp
<%
Dim A (10,10)
A (0,1) = "0x3c" ' number 0
A (0,2) = "0x66"
A (0,3) = "0xc3"
A (0,4) = "0xc3"
A (0,5) = "0xc3"
A (0,6) = "0xc3"
A (0,7) = "0xc3"
A (0,8) = "0xc3"
A (0,9) = "0x66"
A (0,10) = "0x3c"
A (1,1) = "0x18" ' number 1
A (1,2) = "0x1c"
A (1,3) = "0x18"
A (1,4) = "0x18"
A (1,5) = "0x18"
A (1,6) = "0x18"
A (1,7) = "0x18"
A (1,8) = "0x18"
A (1,9) = "0x18"
A (0,10) = "0x7e"
A (2,1) = "0x3c" ' Number 2
A (2,2) = "0x66"
A (2,3) = "0x60"
A (2,4) = "0x60"
A (2,5) = "0x30"
A (2,6) = "0x18"
A (2,7) = "0x0c"
A (2,8) = "0x06"
A (2,9) = "0x06"
A (2,10) = "0x7e"
A (3,1) = "0x3c" ' Number 3
A (3,2) = "0x66"
A (3,3) = "0xc0"
A (3,4) = "0x60"
A (3,5) = "0x1c"
A (3,6) = "0x60"
A (3,7) = "0xc0"
A (3,8) = "0xc0"
A (3,9) = "0x66"
A (3,10) = "0x38"
A (4,1) = "0x38" ' Number 4
A (4,2) = "0x3c"
A (4,3) = "0x36"
A (4,4) = "0x33"
A (4,5) = "0x33"
A (4,6) = "0x33"
A (4,7) = "0xFF"
A (4,8) = "0x30"
A (4,9) = "0x30"
A (4,10) = "0xFE"
A (5,1) = "0xFE" ' number 5
A (5,2) = "0xFE"
A (5,3) = "0x06"
A (5,4) = "0x06"
A (5,5) = "0x3e"
A (5,6) = "0x60"
A (5,7) = "0xc0"
A (5,8) = "0xc3"
A (5,9) = "0x66"
A (5,10) = "0x3c"
A (6,1) = "0x60" ' number 6
A (6,2) = "0x30"
A (6,3) = "0x18"
A (6,4) = "0x0c"
A (6,5) = "0x3e"
A (6,6) = "0x63"
A (6,7) = "0xc3"
A (6,8) = "0xc3"
A (6,9) = "0x66"
A (6,10) = "0x3c"
A (7,1) = "0xFF" ' Number 7
A (7,2) = "0xc0"
A (7,3) = "0x60"
A (7,4) = "0x30"
A (7,5) = "0x18"
A (7,6) = "0x18"
A (7,7) = "0x18"
A (7,8) = "0x18"
A (7,9) = "0x18"
A (7,10) = "0x18"
A (8,1) = "0x3c" ' number 8
A (8,2) = "0x66"
A (8,3) = "0xc3"
A (8,4) = "0x66"
A (8,5) = "0x3c"
A (8,6) = "0x66"
A (8,7) = "0xc3"
A (8,8) = "0xc3"
A (8,9) = "0x66"
A (8,10) = "0x3c"
A (9,1) = "0x3c" ' Number 9
A (9,2) = "0x66"
A (9,3) = "0xc3"
A (9,4) = "0xc3"
A (9,5) = "0x66"
A (9,6) = "0x3c"
A (9,7) = "0x18"
A (9,8) = "0x0c"
A (9,9) = "0x06"
A (9,10) = "0x03"
%>
As a reference to the following, save as Img.asp
<%
Yznum=trim (Request.Form ("Yznum"))
If yznum<> "" Then
if Int (session ("Validatecode")) =int (Yznum) Then
Response.Write ("true")
Else
Response.Write ("false")
End If
Else
Response.Write ("You did not enter the verification code")
End If
%>
<form action=img.asp method=post>
<input name= "Yznum" >
<input Type=submit name=submit1 value=goit>
</form>