В Интернете есть много форм кода проверки изображений. Те коды проверки, которые не генерируют изображения, имеют анти-прогревающие возможности защиты, которые просто уязвимы; Некоторые люди напрямую отображают конкретные номера в веб -исходном коде, а затем просят посетителя ввести дополнительную сумму; Например, 3+5 =, есть некоторые новые функции таких кодов проверки, но, к сожалению, они вообще не имеют защиты.
Флот улучшает вышеуказанную новинку, непосредственно используйте программу ASP для генерации формата изображения BMP и хранить сумму чисел в сеансе, чтобы увеличить порог для растрескивания; Люди без каких -либо знаний о графике и иконографии не могут ее взломать. Код заключается в следующем:
Кода -копия выглядит следующим образом:
<%
Response.buffer = true
Response.expiresabsolute = теперь ()-1
Response.expires = 0
Response.cachecontrol = "Без сэша"
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) 'Белая точка
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) 'строка равна строке плюс последующее значение
Следующий
SESSION ("CHECKCODE") = int (Mid (VCODES, 1,1))+INT (MID (VCODES, 2,1)) 'Рассчитайте сумму и назначите значение сеансу
DimvnumberData (36)
vnumberdata (0) =
«11100001111111111101111011110111111111111111111111111111011111111111111111111011111111111111111111111 собой110111111111111111111111111111001111111111111111111111111111111111111000011111111111110111111111111111111 есть.
vnumberdata (1) =
«11110111111111111111111111111111111111111111111111111111Ж11111er11111Ж11111Ж11111Ж11111Я11111111111111000011111111111111111111111111111111100001111».
vnumberdata (2) =
"1110000111111111111111111111111111111111111111111111111111111111111Я111111111111111111111111111er1111111X111111000000001111111111111111111111111 как
vnumberdata (3) =
"11100001111111111111111111111111111111111111111111111111111111111111111111Р11111Ж11111Р11111Я111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100011111111111111111111111111111111111111000111111111111ра"
vnumberdata (4) =
"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111111111111111111111111000011"
vnumberdata (5) =
"110000000111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111"