ASP 验证码图片成XX

2u+ 2010-07-31 02:39:11
帮朋友改个ASP网站
对ASP可谓是一点都不熟

但代码嘛,都差不多,就是细节的差别罢了
进入正题

原本他网站部署到外网是正常的
可是我从FTP上down下来后
在IIS7下部署好了,打开网站是正常的,就是登陆后台的验证码的图片成了XX

贴下验证码的code,各位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("CheckCode") = 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("../image/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("../image/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("CheckCode") = 9999
End Function
%>
...全文
115 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
2u+ 2010-08-09
额,解决了,忘了来说了
不是路径这种低级问题
竟然是IIS的asp没开启父路径
哎。
回复
lbcleo 2010-08-03
如果你确定路径没错,那就看看图片什么格式
回复
001007009 2010-08-02
看看!!
回复
asdevil520 2010-08-02

Ados.LoadFromFile(Server.mappath("../image/body.Fix"))

Ados.LoadFromFile(Server.mappath("../image/head.Fix"))

改成
Ados.LoadFromFile(Server.mappath("body.Fix"))

Ados.LoadFromFile(Server.mappath("head.Fix"))
只要code.asp和body.Fix,head.Fix在同一个文件夹就行了
回复
魔咒 2010-08-02
是动态生成的图片,不是每个数字都做好了的,应该是你的浏览器问题,因为生成的是PNG类型,你需要注册PNG图片插件
回复
孟子E章 2010-08-02
直接浏览器地址输入http://xxxx/img.asp(验证码文件)显示的是什么错误
回复
z109876543210 2010-08-02
[Quote=引用 4 楼 qq43695548 的回复:]
("../image/body.Fix

("../image/head.fix

这2个文件要有,路径还要对
[/Quote]


编码也有可能,另存为 ansi
回复
SNOYC 2010-08-02
是不是直接拷贝了个别人的函数来用的啊,等把image文件夹也拷贝过来
回复
caizhuguanguan 2010-08-02
认真看下 路径
回复
gaoru 2010-08-02
我是纯粹来学习的.呵呵
回复
孟子E章 2010-08-02
把那些包含文件都放在一个文件里进行测试
回复
2u+ 2010-08-02
[Quote=引用 8 楼 net_lover 的回复:]
直接浏览器地址输入http://xxxx/img.asp(验证码文件)显示的是什么错误
[/Quote]

没报什么错,在IE8调试可调试状态下打开,没报错,就是图片是XX
回复
2u+ 2010-08-02
[Quote=引用 2 楼 chinmo 的回复:]
应该是路径不对
调用的代码那好好看
[/Quote]
路径没问题的,在外网下是好好的
但是在自己的IIS7下部署,就是验证码出不来,其他的都好好的
回复
qq43695548 2010-08-01
("../image/body.Fix

("../image/head.fix

这2个文件要有,路径还要对
回复
qinjianer 2010-08-01
肯定是图片路径不对,验证码的每个字符都是预先定好的小图片,你这个现实X,肯定是图片路径不对!
回复
应该是路径不对
调用的代码那好好看
回复
2u+ 2010-07-31
敢情没人懂吗?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告