Dieses Programm generiert hauptsächlich zunächst eine Zufallszahl, transformiert diese dann entsprechend der generierten Zufallszahl als Inhalt des XBM-Bildes und zeigt schließlich das Bild an. Während der Überprüfung wird die Eingabenummer abgerufen und mit der Sitzung verglichen („Validatecode“). Wenn sie gleich sind, bestehen Sie die Überprüfung (beachten Sie außerdem, dass die Typen der beiden verglichenen Daten konsistent sind).
Wie wird das generierte Bild angezeigt? <img src="xbm.asp"></img>
Informationen zum Format von XBM-Diagrammen finden Sie hier
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm
Der Code von xbm.asp lautet wie folgt:
<!--#include file="numcode.asp"-->
<%
„Aktivieren Sie die Pufferung.“
Response.Buffer = True
Mit Antwort
.Expires = -1
.AddHeader „Pragma“, „no-cache“
.AddHeader „cache-ctrol“, „no-cache“
Ende mit
Dim num
Randomisieren
num = Int(7999 * Rnd + 2000)
Session("validateCode") = num
Dim Image
Dimmen Sie Breite und Höhe
Dimmen Sie digital
Dunkle Länge
Dunkle Sorte
htK
Länge = 4
hc = chr(13) & chr(10)
Redim sort(Length)
digital = ""
Für I = 1 To Länge - Len(num)
digital = digital & „0“
Nächste
Für I = 1 bis Len(num)
digital = digital & Mid(num, I, 1)
Nächste
Für I = 1 bis Len(digital)
sort(I) = Mid(digital, I, 1)
Nächste
Breite = 8 * Len(digital)
Höhe = 10
Response.ContentType = "image/x-xbitmap"
Bild = "#define counter_width " & Breite & hc
Bild = Bild & "#define counter_height " & Höhe & hc
Image = Image & "static unsigned char counter_bits[] = {" & hc
For I = 1 To Height
Für J = 1 To Länge
Bild = Bild & a(sort(J),I) & ","
Nächste
Nächstes
Bild = Left(Image, Len(Image) - 1)
Bild = Bild & "};" & hc
Response.Write Image
%>
Der Code von Numcode.asp lautet wie folgt:
Programmcode:
<%
Dimme a(10,10)
a(0,1) = "0x3c" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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" 'Nummer 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"
%>