มีรูปแบบรหัสการตรวจสอบรูปภาพมากมายบนอินเทอร์เน็ต รหัสการตรวจสอบเหล่านั้นที่ไม่ได้สร้างภาพมีความสามารถในการป้องกันการต่อต้านการแตกที่มีความเสี่ยง บางคนแสดงตัวเลขเฉพาะในรหัสแหล่งที่มาโดยตรงจากนั้นขอให้ผู้เข้าชมป้อนผลรวมที่เพิ่มเข้ามา เช่น 3+5 = มีคุณสมบัติใหม่ของรหัสการตรวจสอบดังกล่าว แต่น่าเสียดายที่พวกเขาไม่มีการป้องกันเลย
Flymorn ปรับปรุงความแปลกใหม่ข้างต้นใช้โปรแกรม ASP โดยตรงเพื่อสร้างรูปแบบภาพ BMP และจัดเก็บผลรวมของตัวเลขลงในเซสชันเพื่อเพิ่มเกณฑ์สำหรับการแคร็ก ผู้คนที่ไม่มีความรู้ด้านกราฟิกและการยึดถือไม่สามารถถอดรหัสได้ รหัสมีดังนี้:
-
response.buffer = true
Response.expiresabsolute = Now ()-1
Response.exext = 0
Response.CacheControl = "No-cache"
Response.contentType = "image/bmp"
callcom_creatvalidcode ()
subcom_creatvalidCode ()
สุ่ม
Dimi, II, III
constCamount = 10 'จำนวนค่า
ConstCcode = "0123456789" 'ช่วงตัวเลข
Dimvcolordata (2)
VCOLORDATA (0) = "" 'จุดสีดำควรแปลงเป็นจุดสีไม่ได้กำหนดไว้ในขณะนี้
VCOLORDATA (1) = CHRB (255) & CHRB (255) & CHRB (255) 'DOT สีขาว
dimvcode (4), vcodes 'สร้างชุดของตัวเลขโดยพลการ
fori = 0to3
VCODE (i) = int (rnd*camount) 'อาร์เรย์เท่ากับหมายเลขทั้งหมด*หมายเลขสุ่ม
ifi = 1thenvCode (i) = "11" 'ตัวเลขที่สองคือ +
ifi = 3thenvCode (i) = "10" 'ตัวเลขที่สี่คือ =
VCODES = VCODES & MID (CCODE, VCODE (I) +1,1) 'เท่ากับสตริงบวกกับค่าที่ตามมา
ต่อไป
เซสชัน ("CheckCode") = int (mid (vcodes, 1,1))+int (mid (vcodes, 2,1)) 'คำนวณผลรวมและกำหนดค่าให้กับเซสชัน
dimvnumberdata (36)
VnumberData (0) =
"111000011111011110111101111011101111011110111101110111011110111101111011110111101111011101111111111111111111111111111111111111011111111111111111111111100011111111111111111111111111111111111111111111111111111
VnumberData (1) =
"111101111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
VnumberData (2) =
"111000011111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
VnumberData (3) =
"111000011111111111111111111111110111111111111111001111111111111111111111111111111111111111111111111111111111111111
VnumberData (4) =
"1111110111111111111111111111111101111111111111111111111111111111111111110011111111111111111111111111111111111111111110000011111111111111111111111111111000011
VnumberData (5) =
"11000000011111111111111101111111011111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111