인터넷에는 많은 이미지 확인 코드 양식이 많이 있습니다. 이미지를 생성하지 않는 이러한 검증 코드에는 단순히 취약한 방지 방어 기능이 있습니다. 어떤 사람들은 웹 소스 코드에 특정 숫자를 직접 표시 한 다음 방문자에게 추가 합계를 입력하도록 요청합니다. 3+5 =와 같이, 그러한 검증 코드에는 새로운 기능이 있지만 불행히도 전혀 보호가 없습니다.
Flymorn은 위의 참신함을 개선하고 ASP 프로그램을 직접 사용하여 BMP 이미지 형식을 생성하고 숫자의 합을 세션에 저장하여 크래킹 임계 값을 높입니다. 그래픽과 도해 법에 대한 지식이없는 사람들은 그것을 깨뜨릴 수 없습니다. 코드는 다음과 같습니다.
<%
응답 .buffer = true
응답 .expiresabsolute = now () -1
응답 .expires = 0
응답 .cachecontrol = "no-cache"
응답 .contentType = "image/bmp"
callcom_creatvalidcode ()
subcom_creatvalidcode ()
무작위 화
디미, 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) '문자열은 문자열과 후속 값과 같습니다.
다음
세션 ( "checkCode") = int (mid (vcodes, 1,1))+int (mid (vcodes, 2,1)) '합계를 계산하고 세션에 값을 할당합니다.
DimvnumberData (36)
vnumberdata (0) =
"11100001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100111111111111111100111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100111111111111112
vnumberdata (1) =
"1111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 느 추면
vnumberdata (2) =
"1110000111111011111011111111011111111101111111111101111111111111111111111111111111111111111111111111111111111111111101111111011111100000011"
vnumberdata (3) =
"111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111는지까지는"
vnumberdata (4) =
"1111110111111111110111111101111110111111011111101111110111111011111101111110000011111111111111110111111111000011"
vnumberdata (5) =
"110000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111는지까지는"