يقوم هذا البرنامج بشكل أساسي بإنشاء رقم عشوائي أولاً، ثم تحويله وفقًا للرقم العشوائي الذي تم إنشاؤه كمحتوى صورة XBM، وأخيرًا يعرض الصورة أثناء التحقق، ويتم الحصول على رقم الإدخال ومقارنته بالجلسة ("رمز التحقق"). إذا كانت متساوية، قم باجتياز التحقق (لاحظ أيضًا أن نوعي البيانات المقارنة متسقان).
كيفية عرض الصورة التي تم إنشاؤها؟ <img src="xbm.asp"></img>
للحصول على معلومات حول تنسيق الرسوم البيانية لـ XBM، راجع هنا
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39134972,00.htm
رمز xbm.asp هو كما يلي:
<!--#include file="numcode.asp"-->
<%
'قم بتشغيل التخزين المؤقت
Response.Buffer = صحيح
مع الرد
.انتهاء الصلاحية = -1
.AddHeader "Pragma"، "لا يوجد ذاكرة تخزين مؤقت"
.AddHeader "التحكم في ذاكرة التخزين المؤقت"، "عدم وجود ذاكرة تخزين مؤقت"
تنتهي
برقم خافت
عشوائية
الأعداد = كثافة العمليات (7999 * د + 2000)
Session("validateCode") = num
Dim Image
العرض الخافت، الارتفاع
رقمية خافتة
طول خافت
نوع خافت
htK
الطول = 4
hc = chr(13) & chr(10)
فرز الفرز(الطول)
الرقمي = ""
لأني = 1 للطول - لين(الأعداد)
رقمي = رقمي و "0"
التالي
لأني = 1 إلى لين (الأعداد)
رقمي = رقمي ومتوسط (عدد، I، 1)
التالي
لأني = 1 إلى لين (رقمي)
فرز (I) = منتصف (رقمي، أنا، 1)
التالي
العرض = 8 * لين (رقمي)
الارتفاع = 10
Response.ContentType = "image/x-xbitmap"
الصورة = "#define counter_width " & Width & hc
الصورة = الصورة & "#define counter_height" & الارتفاع & hc
صورة = صورة & "حرف ثابت غير موقع، counter_bits[] = {" & hc
لـ I = 1 إلى الارتفاع
ل J = 1 للطول
الصورة = الصورة & a(الفرز(J)،I) & "،"
التالي
التالية
= اليسار (الصورة، لين (الصورة) - 1)
صورة = صورة & "};" &
استجابة hc.اكتب الصورة
%>
رمز Numcode.asp هو كما يلي:
رمز البرنامج:
<%
خافت (10,10)
a(0,1) = "0x3c" 'الرقم 0
أ(0,2) = "0x66"
أ(0,3) = "0xc3"
أ(0,4) = "0xc3"
أ(0,5) = "0xc3"
أ(0,6) = "0xc3"
أ(0,7) = "0xc3"
أ(0,8) = "0xc3"
أ(0,9) = "0x66"
أ(0,10)= "0x3ج"
a(1,1) = "0x18" 'الرقم 1
أ(1,2) = "0x1c"
أ(1,3) = "0x18"
أ(1,4) = "0x18"
أ(1,5) = "0x18"
أ(1,6) = "0x18"
أ(1,7) = "0x18"
أ(1,8) = "0x18"
أ(1,9) = "0x18"
أ(0,10)= "0x7e"
a(2,1) = "0x3c" 'الرقم 2
أ(2,2) = "0x66"
أ(2,3) = "0x60"
أ(2,4) = "0x60"
أ(2,5) = "0x30"
أ(2,6) = "0x18"
أ(2,7) = "0x0c"
أ(2,8) = "0x06"
أ(2,9) = "0x06"
أ(2,10)= "0x7e"
a(3,1) = "0x3c" 'الرقم 3
أ(3,2) = "0x66"
أ(3,3) = "0xc0"
أ(3,4) = "0x60"
أ(3,5) = "0x1c"
أ(3,6) = "0x60"
أ(3,7) = "0xc0"
أ(3,8) = "0xc0"
أ(3,9) = "0x66"
أ(3,10)= "0x38"
أ(4,1) = "0x38" 'رقم 4
أ(4,2) = "0x3ج"
أ(4,3) = "0x36"
أ(4,4) = "0x33"
أ(4,5) = "0x33"
أ(4,6) = "0x33"
أ(4,7) = "0xff"
أ(4,8) = "0x30"
أ(4,9) = "0x30"
أ(4,10)= "0xfe"
a(5,1) = "0xfe" 'رقم 5
أ(5,2) = "0xfe"
أ(5,3) = "0x06"
أ(5,4) = "0x06"
أ(5,5) = "0x3e"
أ(5,6) = "0x60"
أ(5,7) = "0xc0"
أ(5,8) = "0xc3"
أ(5,9) = "0x66"
أ(5,10)= "0x3ج"
أ(6,1) = "0x60" 'رقم 6
أ(6,2) = "0x30"
أ(6,3) = "0x18"
أ(6,4) = "0x0c"
أ(6,5) = "0x3e"
أ(6,6) = "0x63"
أ(6,7) = "0xc3"
أ(6,8) = "0xc3"
أ(6,9) = "0x66"
أ (6،10) = "0x3ج"
a(7,1) = "0xff" 'رقم 7
أ(7,2) = "0xc0"
أ(7,3) = "0x60"
أ(7,4) = "0x30"
أ(7,5) = "0x18"
أ(7,6) = "0x18"
أ(7,7) = "0x18"
أ(7,8) = "0x18"
أ(7,9) = "0x18"
أ(7,10)= "0x18"
a(8,1) = "0x3c" 'رقم 8
أ(8,2) = "0x66"
أ(8,3) = "0xc3"
أ(8,4) = "0x66"
أ(8,5) = "0x3ج"
أ(8,6) = "0x66"
أ(8,7) = "0xc3"
أ(8,8) = "0xc3"
أ(8,9) = "0x66"
أ(8,10)= "0x3ج"
a(9,1) = "0x3c" 'رقم 9
أ(9,2) = "0x66"
أ(9,3) = "0xc3"
أ(9,4) = "0xc3"
أ(9,5) = "0x66"
أ(9,6) = "0x3ج"
أ(9,7) = "0x18"
أ(9,8) = "0x0c"
أ(9,9) = "0x06"
أ(9,10)= "0x03"
%>