亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > CMS建站 > 正文

動網驗證碼出現的問題及解決方法_動網論壇教程

2024-08-30 19:10:10
字體:
來源:轉載
供稿:網友

本人在論壇調試中出現的各種驗證碼問題及解決方法

 

1、把字母加入驗證碼字符集里,可是怎么無法通過驗證???

如:Const cCharSet = "0123456789ABC"

這是因為在Dv_ClsMain.asp中存在一段有問題的代碼,導致字母的驗證碼不能正確判斷所致

這個問題應該在7.1的時候就已經解決了呀。

CodeStr=Lcase(Trim(Request("CodeStr")))

這段代碼令得讀來的信息被小寫了

而下一段代碼:

If CStr(Session("GetCode"))=CStr(CodeStr) And CodeStr<>""  Then

比較的時候卻沒有把Session的內容小寫化

 

可以在兩個地方修改(二選其一,看個人愛好)

一、改Dv_ClsMain.asp

If CStr(Session("GetCode"))=CStr(CodeStr) And CodeStr<>""  Then

改為:

If CStr(LCase(Session("GetCode")))=CStr(CodeStr) And CodeStr<>""  Then

二、改Dv_GetCode.asp

Session(pSN) = DigtalStr '記錄入Session

改為:

Session(pSN) = LCase(DigtalStr) '記錄入Session

2、【動網驗證碼字母矢量庫的擴展

動網7.1與7.0相比,在驗證碼上作了大改動。7.0使用的是一個現成的MBP圖庫,內含0-9十個數字的圖形信息(每個圖形都是10*10像數)。因為這十個數字毫無變化,破解的起來還是比較容易的。
  到了7.1,至少在以下方面有了變化:一是用失量庫代替點陣庫,這樣可以產生任意尺寸的驗證碼圖片;二是字符串長度不僅局限于4個字節,可以使用任意長度,三是增加了變形和噪點處理,即使同一個字符重復出現,也可以產生不同的圖片,四是字符集不僅僅局限在十個數字,而可以擴展到其它字符,甚至連漢字也不在話下。
  但是,動網的程序中只提供了10個數字和“ABCD”四個字母的失量圖庫,并在字母“A”失量庫開始前留下這樣一句注釋:“以下為字母的矢量動作,有興趣的可以繼續”,也就是說如果你不動手擴展,就只能使用由這14個字符組成的字符集。
  本人懷著對動網的無限敬仰和濃厚興趣,動手擴展了這個失量庫,將26個大寫字母弄全了。
  在動手之前,有個問題必須先說明:一量引用字母,就必須正視數字“0”與字母“O”、數字“6”與字母“G”因為字形相近而產生的影響。字母“G”我可以設計得跟“6”不一致,但是字母“O”怎么設計都是一個圓圈,于是只好改它的數字“0”了——給它加上一條右上至左下的斜線。于是,數字“0”的失量庫完整如下:
'==========代碼開始==========
CDGen_SetDirection -60' 逆時針60度(相對于垂直線)
CDGen_FowardDraw -0.7' 反方向繪制0.7個單位
CDGen_SetDirection -60' 逆時針60度
CDGen_FowardDraw -0.7' 反方向繪制0.7個單位
CDGen_SetDirection 120' 順時針120度
CDGen_FowardDraw 1.5' 繪制1.5個單位
CDGen_SetDirection -60' 逆時針60度
CDGen_FowardDraw 0.7' 繪制0.7個單位
CDGen_SetDirection -60' 順時針120度
CDGen_FowardDraw 0.7' 繪制0.7個單位
CDGen_Close 0' 封閉當前筆與第0筆(0開始)
'添加一條斜線,以免與字母O混淆()
CDGen_MoveToMiddle 2, 100' 移動畫筆的位置到第3筆(0開始)的結尾處
CDGen_CloseToMiddle 0, 0' 將當前畫筆位置與第1筆(0開始)的開端封閉
'==========代碼結束==========
  在設計字母“E”的時候,考慮到三條水平線,要給它加上角度隨機量,隨機量很容易計算,如我要產生“正負20度”只要“20 - Rnd * 40”即可。但是原有的“CDGen_SetDirection”函數都是在以往的角度基礎上旋轉的,這樣在畫第二、三條水平線的時候角度會受前面的影響,比如如果三次都是正20,那最后一條線將產生60度的隨機量,于是我增加了一個函數“CDGen_SetDirectionFormZero”,它的作用是以0度為基準進行隨機量的設定,代碼如下:
'==========代碼開始==========
Sub CDGen_SetDirectionFormZero(nAngle)
 '按指定角度設定畫筆方向,與CDGen_SetDirection的區別是以0度為基準
 nAngle = Sgn(nAngle) * (Abs(nAngle) - nAngleRandom + Rnd * nAngleRandom * 2) / 180 * 3.1415926
 DirX = - Sin(nAngle)
 DirY = Cos(nAngle)
End Sub
'==========代碼結束==========
  下面就可以去補充其它字母的失量庫了,代碼如下:
'==========代碼開始==========
Case "E"
 CDGen_SetDirection -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 0
 CDGen_SetDirectionFormZero -(110 - Rnd * 40)
 CDGen_FowardDraw 0.7
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirectionFormZero -(110 - Rnd * 40)
 CDGen_FowardDraw 0.5
 CDGen_MoveToMiddle 0, 100
 CDGen_SetDirectionFormZero -(110 - Rnd * 40)
 CDGen_FowardDraw 0.9
Case "F"
 CDGen_SetDirection -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 0
 CDGen_SetDirectionFormZero -(110 - Rnd * 40)
 CDGen_FowardDraw 0.7
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirectionFormZero -(110 - Rnd * 40)
 CDGen_FowardDraw 0.5
Case "G"
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection 120
 CDGen_FowardDraw 1.5
 CDGen_SetDirection 120
 CDGen_FowardDraw -0.7
 CDGen_SetDirection 120
 CDGen_FowardDraw 0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 90
 CDGen_FowardDraw 0.4
 CDGen_MoveToMiddle 6, 0
 CDGen_SetDirection 180
 CDGen_FowardDraw 0.4
Case "H"
 CDGen_SetDirection -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection -90
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 1, 100
 CDGen_SetDirection -90
 CDGen_FowardDraw 0.5
 CDGen_MoveToMiddle 1, 100
 CDGen_SetDirection 180
 CDGen_FowardDraw 0.5
Case "I"
 CDGen_SetDirection -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 0
 CDGen_SetDirection -90
 CDGen_FowardDraw 0.2
 CDGen_MoveToMiddle 0, 0
 CDGen_SetDirection 180
 CDGen_FowardDraw 0.2
 CDGen_MoveToMiddle 0, 100
 CDGen_FowardDraw 0.2
 CDGen_MoveToMiddle 0, 100
 CDGen_SetDirection 180
 CDGen_FowardDraw 0.2
Case "J"
 CDGen_SetDirection -90
 CDGen_FowardDraw 0.4
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection 90
 CDGen_FowardDraw 0.6
 CDGen_SetDirection 60
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 120
 CDGen_FowardDraw 0.5
Case "K"
 CDGen_SetDirection -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.6
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.6
Case "L"
 CDGen_SetDirection -90
 CDGen_FowardDraw 0.2
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirectionFormZero -(Rnd * 20 - 10)
 CDGen_FowardDraw 1
 CDGen_SetDirection -(110 - Rnd * 40)
 CDGen_FowardDraw 0.8
 CDGen_SetDirectionFormZero 0
 CDGen_FowardDraw -0.3
Case "M"
 CDGen_SetDirection 0
 CDGen_FowardDraw -1
 CDGen_SetDirection -30
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 60
 CDGen_FowardDraw -0.5
 CDGen_SetDirection -30
 CDGen_FowardDraw 1
Case "N"
 CDGen_SetDirection 0
 CDGen_FowardDraw -1
 CDGen_SetDirection -45
 CDGen_FowardDraw 1.4
 CDGen_SetDirection 45
 CDGen_FowardDraw -1
Case "O"
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection 120
 CDGen_FowardDraw 1.5
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.7
 CDGen_Close 0
Case "P"
 CDGen_SetDirection 0
 CDGen_FowardDraw -1
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 60
 CDGen_FowardDraw 0.5
 CDGen_CloseToMiddle 0, 50
Case "Q"
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw -0.7
 CDGen_SetDirection 120
 CDGen_FowardDraw 1.5
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.7
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.7
 CDGen_Close 0
 CDGen_MoveToMiddle 4, 100
 CDGen_SetDirectionFormZero -45
 CDGen_FowardDraw 0.7
 CDGen_MoveToMiddle 4, 100
 CDGen_SetDirection 180
 CDGen_FowardDraw 0.7
Case "R"
 CDGen_SetDirection 0
 CDGen_FowardDraw -1
 CDGen_SetDirection -80
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 60
 CDGen_FowardDraw 0.5
 CDGen_CloseToMiddle 0, 50
 CDGen_SetDirectionFormZero -45
 CDGen_FowardDraw 0.7
Case "S"
 CDGen_SetDirection -45
 CDGen_FowardDraw -0.5
 CDGen_SetDirection -90
 CDGen_FowardDraw -0.5
 CDGen_SetDirection 90
 CDGen_FowardDraw 1
 CDGen_SetDirection 90
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 90
 CDGen_FowardDraw 0.5
Case "T"
 CDGen_SetDirection -90
 CDGen_FowardDraw 0.8
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection 90
 CDGen_FowardDraw 1
 CDGen_MoveToMiddle 0, 0
 CDGen_SetDirection 30
 CDGen_FowardDraw 0.5
 CDGen_MoveToMiddle 0, 100
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.5
Case "U"
 CDGen_FowardDraw 1
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.6
 CDGen_SetDirection -60
 CDGen_FowardDraw 0.6
 CDGen_SetDirection -60
 CDGen_FowardDraw 1
Case "V"
 CDGen_SetDirection -30
 CDGen_FowardDraw 1.5
 CDGen_SetDirection 60
 CDGen_FowardDraw -1.5
Case "W"
 CDGen_SetDirection -30
 CDGen_FowardDraw 1.5
 CDGen_SetDirection 60
 CDGen_FowardDraw -1
 CDGen_SetDirection -60
 CDGen_FowardDraw 1
 CDGen_SetDirection 60
 CDGen_FowardDraw -1.5
Case "X"
 CDGen_SetDirection -45
 CDGen_FowardDraw 1.4
 CDGen_MoveToMiddle 0, 50
 CDGen_SetDirection 90
 CDGen_FowardDraw 0.7
 CDGen_MoveToMiddle 0, 50
 CDGen_FowardDraw -0.7
Case "Y"
 CDGen_SetDirection -30
 CDGen_FowardDraw 0.5
 CDGen_SetDirection 60
 CDGen_FowardDraw -0.5
 CDGen_MoveToMiddle 0, 100
 CDGen_SetDirection -30
 CDGen_FowardDraw 0.5
Case "Z"
 CDGen_SetDirection -90
 CDGen_FowardDraw 1
 CDGen_SetDirection -45
 CDGen_FowardDraw -1.4
 CDGen_SetDirection 45
 CDGen_FowardDraw 1

 3、動網BBS8.0驗證碼看不清楚的修改方法

用記事本打開Dv_GetCode.asp文件,把上面幾行的個別數值修改為(紅色為修改后的,其他的不變):

Const nMaxSaturation = 100   ' 最大色彩飽和度
Const nBlankNoisyDotOdds = 0' 空白處噪點率
Const nColorNoisyDotOdds = 0 ' 有色處噪點率
Const nCharCount = 4      ' 產生的字符個數
Const nPixelWidth = 20     ' 單個字符位圖的寬度
Const nPixelHeight = 20       ' 單個字符位圖的高度
Const nColorHue = 220      ' 顯示驗證碼的色調(-1表示隨機色調, -2表示灰度色調)
Const nAngleRandom = 0         ' 角度隨機量
Const nLengthRandom = 0        ' 長度隨機量(百分比)

希望對你有用!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲va欧美va国产综合久久| 国产精品高潮呻吟久久av野狼| 久久亚洲私人国产精品va| 久久久在线免费观看| 91视频88av| 国产精品综合不卡av| 亚洲欧美日韩第一区| 亚洲毛片在线免费观看| 91精品国产自产在线观看永久| 亚洲自拍中文字幕| 日韩风俗一区 二区| 欧美日韩亚洲一区二区三区| 亚洲免费电影一区| 久久艳片www.17c.com| 欧美日韩国产一区二区| 欧美成人h版在线观看| 欧洲午夜精品久久久| 中文字幕在线看视频国产欧美在线看完整| 插插插亚洲综合网| 色青青草原桃花久久综合| 亚洲精品视频网上网址在线观看| 国产精品久久久精品| 国产一区二区激情| 欧美高清在线观看| 成人免费在线视频网站| 亚洲精品少妇网址| 国外视频精品毛片| 久久久久久久网站| 欧美日本高清一区| 日韩成人在线免费观看| 国产99视频精品免视看7| 午夜精品一区二区三区在线| 欧美久久精品午夜青青大伊人| 91久久精品久久国产性色也91| 原创国产精品91| 欧美国产日韩在线| 日韩小视频在线| 国产精品三级网站| 777国产偷窥盗摄精品视频| 色先锋资源久久综合5566| 久久久免费电影| 国产97人人超碰caoprom| 久久精品国产v日韩v亚洲| 一本色道久久综合亚洲精品小说| 亚洲日韩中文字幕在线播放| 中文字幕久久精品| 亚洲精品在线91| 亚洲精品国产成人| 国产欧美在线播放| 一区二区三区黄色| 亚洲精品久久久久久久久久久久久| 欧美激情一区二区三级高清视频| 国产999精品| 日韩精品欧美国产精品忘忧草| 亚洲精品一区二区在线| 9.1国产丝袜在线观看| 97在线视频国产| 欧美限制级电影在线观看| 成人亚洲激情网| 国产精品久久综合av爱欲tv| 久久久久久亚洲精品| 精品国偷自产在线视频| 爱福利视频一区| 精品动漫一区二区| 怡红院精品视频| 国产日韩欧美日韩| 中文字幕日韩欧美在线视频| 秋霞成人午夜鲁丝一区二区三区| 亚洲精品www久久久| 亚洲欧洲美洲在线综合| 欧美激情精品久久久久| 日韩欧美第一页| 国内精品久久久久久中文字幕| 亚洲欧美日韩久久久久久| 国产精品久久精品| 国产欧美日韩专区发布| 国产在线a不卡| 亚洲欧美一区二区三区情侣bbw| 亚洲激情在线视频| 亚洲理论电影网| 久久久91精品国产一区不卡| 国产美女久久精品| 欧美又大粗又爽又黄大片视频| 国产精品自拍视频| 国产精品99久久久久久久久| 色777狠狠综合秋免鲁丝| 国产精品国产福利国产秒拍| 精品国产鲁一鲁一区二区张丽| 91伊人影院在线播放| 日本免费一区二区三区视频观看| 日韩在线视频国产| 亚洲人在线视频| 日韩免费在线免费观看| 欧美成aaa人片免费看| 中文字幕亚洲欧美| 色婷婷成人综合| 久久伊人精品视频| 国产精品视频一区二区三区四| 69av在线视频| 久久视频免费观看| 日韩av电影在线网| 精品久久久久久国产| 日韩大陆毛片av| 91久久精品国产91性色| 国产精品视频免费在线| 亚洲热线99精品视频| 欧美野外wwwxxx| 久久亚洲春色中文字幕| 国产日本欧美一区二区三区在线| 国产亚洲欧洲高清一区| 4k岛国日韩精品**专区| 国产精品美女呻吟| 亚洲欧美日本精品| 国产精品96久久久久久又黄又硬| 538国产精品一区二区免费视频| 最新国产精品亚洲| 精品电影在线观看| 在线电影中文日韩| 青青草精品毛片| 亚洲精品小视频| 国产精品成人免费电影| 亚洲国产欧美一区二区丝袜黑人| 欧美日韩一区二区在线播放| 日韩欧美在线视频观看| 国产精品专区第二| 亚洲人午夜精品免费| 亚洲性av网站| 欧洲成人午夜免费大片| 国产亚洲一区二区在线| 7777kkkk成人观看| 97国产在线观看| 亚洲自拍欧美另类| 欧美日韩aaaa| 亚洲国产古装精品网站| 日韩激情av在线播放| 亚洲天堂av网| 欧美黄色三级网站| 91欧美精品成人综合在线观看| 黑人巨大精品欧美一区二区一视频| 欧美高清videos高潮hd| 亚洲视频综合网| 亚洲精品在线不卡| 91香蕉亚洲精品| 日韩国产欧美精品一区二区三区| 人人爽久久涩噜噜噜网站| 亚洲视频axxx| 91高清视频在线免费观看| 亚洲美女av在线播放| 国产香蕉一区二区三区在线视频| 国产精品久久久久久久久影视| 精品一区二区三区电影| 日韩精品在线视频美女| 最近中文字幕日韩精品| 色综合天天狠天天透天天伊人| 午夜伦理精品一区| 亚洲欧美一区二区三区久久| 国产精品免费电影| 日本欧美一级片| 精品国产一区二区三区久久久| 91精品中文在线| 国自产精品手机在线观看视频| 91av在线精品| 亚洲一区中文字幕在线观看| 久久精品国产亚洲一区二区|