Existem muitos formulários de código de verificação de imagem na Internet. Esses códigos de verificação que não geram imagens têm recursos de defesa anti-cracking que são simplesmente vulneráveis; Algumas pessoas exibem diretamente números específicos no código -fonte da Web e solicitam ao visitante que insira uma soma adicional; Como 3+5 =, existem alguns novos recursos desses códigos de verificação, mas, infelizmente, eles não têm proteção.
O Flymorn melhora a novidade acima, use diretamente o programa ASP para gerar o formato da imagem BMP e armazenar a soma dos números na sessão para aumentar o limiar para rachaduras; Pessoas sem algum conhecimento de gráficos e iconografia não podem quebrá -lo. O código é o seguinte:
A cópia do código é a seguinte:
<%
Response.Buffer = true
Response.expiresabsolute = agora ()-1
Response.Expires = 0
Response.CacheControl = "No-Cache"
Response.ContentType = "Image/BMP"
CallCom_CreatValidCode ()
Subcom_creatValidCode ()
Randomizar
Dimi, II, III
ConstCamount = 10 'Número de valores
ConstCCode = "0123456789" 'Faixa numérica
Dimvcolordata (2)
vcolordata (0) = "" 'O ponto preto deve ser convertido em um ponto de cor, não definido por enquanto
vcolordata (1) = Chrb (255) e Chrb (255) e Chrb (255) 'White Dot
Dimvcode (4), o vcodes 'gera um conjunto de números arbitrários
Fori = 0to3
vcode (i) = int (rnd*counting) 'Array é igual a número total*Número aleatório
ifi = 1ThenVCode (i) = "11" 'O segundo dígito é +
ifi = 3ThenVCode (i) = "10" 'O quarto dígito é =
vcodes = vcodes & Mid (ccode, vcode (i) +1,1) 'string é igual à string mais o valor subsequente
Próximo
Sessão ("CheckCode") = int (MID (VCODES, 1,1))+int (MID (VCODES, 2,1)) 'Calcule a soma e atribua o valor à sessão
DimvNumberData (36)
vNumberData (0) =
"111000000111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100001111111111111111111111111111111111111111111100001111111111111111111111111111111111111111100001111111111111111111111111111111111111111000011111
vNumberData (1) =
"1111011111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111"
vNumberData (2) =
"11100000011111111111101111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011"
vNumberData (3) =
"1110000001111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111111111111111111000111111
vNumberData (4) =
"1111111111111111111111111101111111111111111111111111111111111111111111111111111100000111111111111111111111111111111000011"
vNumberData (5) =
"110000000111111111111111111111111111111111011111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111000111111"