麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 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电影 | 成人男男视频拍拍拍在线观看 | 一级做受毛片免费大片 | 99欧美精品 | 毛片在线视频在线播放 | 久久久久免费电影 | 91羞羞| 国产一区视频免费观看 | 国产精品久久久久久影视 | 欧美亚洲一区二区三区四区 | 日韩视频在线观看免费 | 一级大黄毛片免费观看 | 国产精品久久久久久久久久三级 | 国产999在线 | 九九热在线精品视频 | 国产午夜精品久久久久婷 | 九九精品久久 | 欧美日韩在线视频一区 | 国产99久久精品一区二区 | 国内精品久久久久久久久久 | 国产一区精品视频 | 久久精品亚洲精品国产欧美kt∨ | 香蕉国产片 | 久久视频精品 | 免费一级毛片免费播放 | 国av在线 | 国产免费激情视频 | 国产成人自拍视频在线观看 | 成人福利在线 | 国产精品久久久久久久久久三级 | 中文字幕欧美专区 | 成熟女人特级毛片www免费 | 91福利影视 |