国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]ASP生成數字相加求和的BMP圖片驗證碼

admin
2022年6月21日 23:21 本文熱度 1369
目前網絡上有許多圖片驗證碼形式,那些沒有生成圖片的驗證碼的抗破解防御能力簡直不堪一擊;有人直接在網頁源碼里顯示出具體的數字,然后要求訪問者輸入一個相加后的和;如3+5=多少,這樣的驗證碼新意倒有一些,不過可惜,根本沒有起到保護的作用。改進一下以上的新意,直接把3+6=多少的形式采用asp程序生成Bmp圖片格式,并且把數字相加后的和存進session里,加大破解的門檻;沒有一些圖形圖像學知識的人是無法破解的。
代碼如下:
<% 
Response.Buffer = True 
Response.ExpiresAbsolute = Now() - 1 
Response.Expires = 0 
Response.cachecontrol = "no-cache"
Response.ContentType = "Image/Bmp"  
Call Com_CreatValidCode()  
Sub Com_CreatValidCode()  
Randomize 
Dim i, ii, iii  
Const cAmount = 10 '數值個數
Const cCode = "0123456789"  '數值范圍
Dim vColorData(2)
vColorData(0) = "" '黑色點要轉為彩色點,暫時不定義
vColorData(1) = ChrB(255) & ChrB(255) & ChrB(255) '白點
Dim vCode(4), vCodes '產生一組任意數
For i = 0 To 3  
vCode(i) = Int(Rnd * cAmount) '數組等于總數*隨機數
if i=1 then vCode(i)="11"  '第二位為+
if i=3 then vCode(i)="10"  '第四位為=
vCodes=vCodes&Mid(cCode,vCode(i)+1,1) '串等于串加上后續值
Next  
session("checkcode")=int(Mid(vCodes,1,1)) + int(Mid(vCodes,2,1)) '計算相加和值并賦值給session
Dim vNumberData(36)  
vNumberData(0) = 
"1110000111110111101111011110111101111011110111101111011110111101111011110111101111011110111110000111"  
vNumberData(1) = 
"1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111"  
vNumberData(2) = 
"1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011"  
vNumberData(3) = 
"1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111"  
vNumberData(4) = 
"1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011"  
vNumberData(5) = 
"1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111"  
vNumberData(6) = 
"1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111"  
vNumberData(7) = 
"1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111"  
vNumberData(8) = 
"1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111"  
vNumberData(9) = 
"1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111"  
'表示=
vNumberData(10) = 
"1111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111111111111"  
'表示+
vNumberData(11) = 
"1111111111111100111111110011111111001111100000000110000000011111001111111100111111110011111111111111"  
Response.BinaryWrite ChrB(66) & ChrB(77) & ChrB(230) & ChrB(4) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_  
ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_  
ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_  
ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)  
Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(176) & ChrB(4) &_  
ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) &_  
ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_  
ChrB(0) & ChrB(0)  
For i = 9 To 0 Step -1 '行
For ii = 0 To 3  '字數
For iii = 1 To 10 '像素點
  if Mid(vNumberData(vCode(ii)), i * 10 + iii , 1)  ="0" then '產生彩色點,減去一個固定值,可使顏色偏深
    dim a,b,c
    a=abs(Rnd * 256-60)
    b=abs(Rnd * 256-128)
    c=abs(Rnd * 256-60)
    vColorData(0) = ChrB(a) & ChrB(b) & ChrB(c) 
    Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii , 1))  
  else
    dim d,e,f '產生彩色背景,顏色偏淺,也可以隨機生成噪點做背景
    d=abs(Rnd * 255)
    e=abs(Rnd * 255)
    f=abs(Rnd * 255)
    if d+e+f>640 then  '可改值,調整背景色深
      vColorData(1) = ChrB(d) & ChrB(e) & ChrB(f) 
      Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii , 1))  
    else
      Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii , 1))  
    end if
  end if
Next  
Next  
Next  
End Sub  
%> 

以上代碼可直接另存為一個文件,如vcode.asp,然后通過圖片的方式調用改文件,如<img src="vcode.asp" border=0 align="absmiddle" />,然后在提交后的處理頁面里驗證session("checkcode")的值就可以了。這個代碼是flymorn自己改進的,原始的參考代碼請直接在google里搜索“用ASP生成Bmp圖片”,或查看這個網址,可以找到一些相關的。

    最后,就是“5+6=”這樣的隨機數字相加的形式生成在bmp圖片里了,它們的和需要你計算后填入,以達到驗證的功能,防止機器蹂躪你的網站。

該文章在 2022/6/21 23:21:38 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美成人免费A片爽爽爽 | 日本肉肉口番工全彩动漫 | 国产在线第一区二区三区 | 最新无码国产在线播放 | 亚洲秘无码一区二区三区蜜桃 | 亚洲一区精品无码 | 亚洲午夜精品久久久久 | 国产成人免费福利网站 | 免费无码aⅴ在线观看 | 日韩中文字幕免费视频 | 亚洲欧洲无码av不卡在线 | 少妇亚洲高清三级 | 亚洲一区日韩高清中文 | 日韩精品极品视频在线观看 | 成人亚洲一区二区三区在线 | 亚洲精品综合欧美一区二区 | 国产av无码专区亚洲av毛片搜 | 亚洲av日韩aⅴ无码电影 | 亚洲AV国产成人精品区三上 | 国产成人人人97超碰超爽8 | 2025国产麻豆剧传媒在线观看 | 国产女厕所盗摄老师厕所嘘嘘 | 日韩人妻中文字幕 | 麻豆国产97在线 | 欧美 | 亚洲欧美日韩中文加勒比 | 亚洲av成人噜噜无码网站 | 成人无码a区在线观看视 | 亚洲本色精品一区二区久久 | 久久久国产精品播放 | 在线观看日韩精品一区二区 | 91久久人妻中文字幕色欲 | 91久久久久无码国产精品一区99 | 欧美日韩动漫手机在线观看一区 | 亚洲日韩欧洲无码a∨夜夜 亚洲日韩欧洲无码av夜夜摸 | 人妻少妇一区二区老女人 | 日韩成人性爱电影 | a在线观看免费网站大全 | 国产成人精品日本亚洲直接 | 欧美日韩国产在线一区二区 | 欧美日韩视频综合一区无弹窗 | 国产精品自在在线午夜免费 |