<
%
Dim TestObj
On Error Resume Next
Set TestObj = Server.CreateObject( " Adodb.Stream " )
Set TestObj = Nothing
If Err Then
Dim TempNum
Randomize timer
TempNum = cint ( 8999 * Rnd + 1000 )
Session( " GetCode " ) = TempNum
GetCode = Session( " GetCode " )
Else
GetCodeimg = " <img src=""../../common/xx.asp"" οnclick='this.src=this.src;' style='cursor:pointer'> "
Response.write GetCodeimg
End If
% >
Dim TestObj
On Error Resume Next
Set TestObj = Server.CreateObject( " Adodb.Stream " )
Set TestObj = Nothing
If Err Then
Dim TempNum
Randomize timer
TempNum = cint ( 8999 * Rnd + 1000 )
Session( " GetCode " ) = TempNum
GetCode = Session( " GetCode " )
Else
GetCodeimg = " <img src=""../../common/xx.asp"" οnclick='this.src=this.src;' style='cursor:pointer'> "
Response.write GetCodeimg
End If
% >
然后 看 xx.asp
<
%
Option Explicit
Response.buffer = true
NumCode
Function NumCode()
Response.Expires = - 1
Response.AddHeader " Pragma " , " no-cache "
Response.AddHeader " cache-ctrol " , " no-cache "
On Error Resume Next
Dim zNum,i,j
Dim Ados,Ados1
Randomize timer
zNum = cint ( 8999 * Rnd + 1000 )
Session( " GetCode " ) = zNum
Dim zimg( 4 ),NStr
NStr = cstr (zNum)
For i = 0 To 3
zimg(i) = cint ( mid (NStr,i + 1 , 1 ))
Next
Dim Pos
Set Ados = Server.CreateObject( " Adodb.Stream " )
Ados.Mode = 3
Ados.Type = 1
Ados.Open
Set Ados1 = Server.CreateObject( " Adodb.Stream " )
Ados1.Mode = 3
Ados1.Type = 1
Ados1.Open
Ados.LoadFromFile(Server.mappath( " body.Fix " ))
Ados1.write Ados.read( 1280 )
For i = 0 To 3
Ados.Position = ( 9 - zimg(i)) * 320
Ados1.Position = i * 320
Ados1.write ados.read( 320 )
Next
Ados.LoadFromFile(Server.mappath( " head.fix " ))
Pos = lenb(Ados.read())
Ados.Position = Pos
For i = 0 To 9 Step 1
For j = 0 To 3
Ados1.Position = i * 32 + j * 320
Ados.Position = Pos + 30 * j + i * 120
Ados.write ados1.read( 30 )
Next
Next
Response.ContentType = " image/BMP "
Ados.Position = 0
Response.BinaryWrite Ados.read()
Ados.Close: set Ados = nothing
Ados1.Close: set Ados1 = nothing
If Err Then Session( " GetCode " ) = 9999
End Function
% >
Option Explicit
Response.buffer = true
NumCode
Function NumCode()
Response.Expires = - 1
Response.AddHeader " Pragma " , " no-cache "
Response.AddHeader " cache-ctrol " , " no-cache "
On Error Resume Next
Dim zNum,i,j
Dim Ados,Ados1
Randomize timer
zNum = cint ( 8999 * Rnd + 1000 )
Session( " GetCode " ) = zNum
Dim zimg( 4 ),NStr
NStr = cstr (zNum)
For i = 0 To 3
zimg(i) = cint ( mid (NStr,i + 1 , 1 ))
Next
Dim Pos
Set Ados = Server.CreateObject( " Adodb.Stream " )
Ados.Mode = 3
Ados.Type = 1
Ados.Open
Set Ados1 = Server.CreateObject( " Adodb.Stream " )
Ados1.Mode = 3
Ados1.Type = 1
Ados1.Open
Ados.LoadFromFile(Server.mappath( " body.Fix " ))
Ados1.write Ados.read( 1280 )
For i = 0 To 3
Ados.Position = ( 9 - zimg(i)) * 320
Ados1.Position = i * 320
Ados1.write ados.read( 320 )
Next
Ados.LoadFromFile(Server.mappath( " head.fix " ))
Pos = lenb(Ados.read())
Ados.Position = Pos
For i = 0 To 9 Step 1
For j = 0 To 3
Ados1.Position = i * 32 + j * 320
Ados.Position = Pos + 30 * j + i * 120
Ados.write ados1.read( 30 )
Next
Next
Response.ContentType = " image/BMP "
Ados.Position = 0
Response.BinaryWrite Ados.read()
Ados.Close: set Ados = nothing
Ados1.Close: set Ados1 = nothing
If Err Then Session( " GetCode " ) = 9999
End Function
% >
验证的代码:
<
%
' 验证验证码是否正确
' response.Write Session("GetCode")
' response.Write Trim(Request.Form("VerifyCode"))
if cint (Session( " GetCode " )) <> cint ( Trim (Request.Form( " VerifyCode " ))) then
FoundErr = True
response.Write " <script language=javascript> alert('验证码输入不正确,请重新输入!') ;window.location = 'index.asp';</script> "
end if
' 验证验证码是否正确
' response.Write Session("GetCode")
' response.Write Trim(Request.Form("VerifyCode"))
if cint (Session( " GetCode " )) <> cint ( Trim (Request.Form( " VerifyCode " ))) then
FoundErr = True
response.Write " <script language=javascript> alert('验证码输入不正确,请重新输入!') ;window.location = 'index.asp';</script> "
end if
就OK了