Hay muchos formularios de código de verificación de imágenes en Internet. Esos códigos de verificación que no generan imágenes tienen capacidades de defensa anti-cracking que son simplemente vulnerables; Algunas personas muestran directamente números específicos en el código fuente web y luego solicitan al visitante que ingrese una suma adicional; Como 3+5 =, hay algunas características nuevas de tales códigos de verificación, pero desafortunadamente, no tienen protección en absoluto.
Flymorn mejora la novedad anterior, use directamente el programa ASP para generar el formato de imagen BMP y almacene la suma de los números en la sesión para aumentar el umbral para el agrietamiento; Las personas sin algún conocimiento de gráficos e iconografía no pueden descifrarlo. El código es el siguiente:
La copia del código es la siguiente:
<%
Respuesta.Buffer = True
Respuesta.ExpeesabSolute = Now ()-1
Respuesta.expires = 0
Respuesta.cacheControl = "No-cache"
Respuesta.ContentType = "Image/BMP"
Callcom_creatValidCode ()
Subcom_creatValidCode ()
Aleatorizar
Dimi, II, III
Constcamount = 10 'Número de valores
Constccode = "0123456789" 'Rango numérico
Dimvcolordata (2)
vcolordata (0) = "" 'El punto negro debe convertirse en un punto de color, no definido por el momento
vcolordata (1) = CHRB (255) y CHRB (255) y CHRB (255) 'Dot blanco
Dimvcode (4), Vcodes 'genera un conjunto de números arbitrarios
Fori = 0to3
vcode (i) = int (rnd*camount) 'la matriz es igual a número total*número aleatorio
ifi = 1thenvcode (i) = "11" 'El segundo dígito es +
ifi = 3thenvcode (i) = "10" 'El cuarto dígito es =
vcodes = vcodes & mid (ccode, vcode (i) +1,1) 'La cadena es igual a la cadena más el valor posterior
Próximo
sesión ("checkicode") = int (mid (vcodes, 1,1))+int (mid (vcodes, 2,1)) 'Calcule la suma y asigne el valor a la sesión
DimvNumberData (36)
vnumberData (0) =
"1110000111110111101111011110111101111011110111101111011110111101111011110111101111011111111101111111111111111111110001111111111111111111000011" "
VNumberData (1) =
"111101111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111" "".
vnumberData (2) =
"1110000111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011" "".
VNumberData (3) =
"111000011111110111111111111111111111101111111111111110011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
vnumberData (4) =
"111111011111111111111111111111111101111110111111111111101111110111111111111111000001111111111111111111111111000011"
vnumberData (5) =
"11000000011111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111