Il existe de nombreux formulaires de code de vérification d'image sur Internet. Les codes de vérification qui ne génèrent pas d'images ont des capacités de défense anti-cracking qui sont simplement vulnérables; Certaines personnes affichent directement des numéros spécifiques dans le code source Web, puis de demander au visiteur de saisir une somme ajoutée; Comme 3 + 5 =, il existe de nouvelles fonctionnalités de tels codes de vérification, mais malheureusement, ils n'ont aucune protection.
Flymorn améliore la nouveauté ci-dessus, utilise directement le programme ASP pour générer le format d'image BMP et stocker la somme des nombres dans la session pour augmenter le seuil de craquage; Les gens sans connaissance des graphiques et de l'iconographie ne peuvent pas les casser. Le code est le suivant:
La copie de code est la suivante:
<%
Réponse.buffer = true
Réponse.ExpiresAbsolute = Now () - 1
Response.expires = 0
Réponse.cacheControl = "Non-cache"
Response.ContentType = "Image / BMP"
Callcom_creatvalidcode ()
Subcom_creatvalidcode ()
Randomiser
Dimi, II, III
Constcamount = 10 'nombre de valeurs
Constccode = "0123456789" 'Gamme numérique
Dimvcolordata (2)
vColordata (0) = "" 'Le point noir doit être converti en point de couleur, non défini pour le moment
VColordata (1) = Chrb (255) & Chrb (255) & Chrb (255) 'Dot blanc
Dimvcode (4), Vcodes «génère un ensemble de nombres arbitraires
Fori = 0to3
VCODE (i) = int (rnd * camount) 'tableau est égal au nombre total * Nombre aléatoire
ifi = 1ThenvCode (i) = "11" 'Le deuxième chiffre est +
ifi = 3THENVCODE (i) = "10" 'Le quatrième chiffre est =
La chaîne Vcodes = Vcodes & Mid (Ccode, Vcode (i) +1,1) est égale à la chaîne plus la valeur suivante
Suivant
Session ("Checkcode") = int (mid (vcodes, 1,1)) + int (mid (vcodes, 2,1)) 'Calculez la somme et attribuez la valeur à la session
Dimvnumberdata (36)
vNumberData (0) =
"11100001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
vnumberdata (1) =
"1111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111"
vnumberdata (2) =
"111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011" "
vnumberdata (3) =
"111000011111111111111111111111111111111111111001111111111111111111111111111111111111111111111111110001111"
vnumberdata (4) =
"1111111111111111111111111111111111111111111111111111111111111111100000111111111111111111111000011"
vnumberdata (5) =
"1100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"