检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过
程序员文章站
2023-01-25 08:54:47
今天试了下aspjpeg组件,发现用aspjpeg组件去处理不正常的图片文件的时候就会出错,呵呵,这个正好可以让我们用来检查图片的合法性,偶给封装成函数了~复制代码 代码如...
今天试了下aspjpeg组件,发现用aspjpeg组件去处理不正常的图片文件的时候就会出错,呵呵,这个正好可以让我们用来检查图片的合法性,偶给封装成函数了~
'-------------------------------------------
'函数名:chkimg
'作 用:检查图片文件是否合法
'参 数:img,图片路径
'返回值:布尔类型
'条 件:服务器必须支持aspjpeg
'-------------------------------------------
function chkimg(img)
on error resume next
chkimg=true
if isnull(img) then chkimg=false:exit function
set chkjpeg = server.createobject("persits.jpeg")
chkpath = server.mappath(img)
chkjpeg.open chkpath
if err then
chkimg=false
end if
if err.number<>0 then err.clear
set chkjpeg=nothing
end function
因为aspjpeg只能处理已经在服务器上的文件,所以实际运用的过程中我们可以这样做:先将图片上传到一个临时文件夹,然后检查图片的合法性,如果合法,复制图片到图片保存目录,删除临时文件并返回上传成功信息,如果非法,直接删除临时文件并返回错误警告。
复制代码 代码如下:
'-------------------------------------------
'函数名:chkimg
'作 用:检查图片文件是否合法
'参 数:img,图片路径
'返回值:布尔类型
'条 件:服务器必须支持aspjpeg
'-------------------------------------------
function chkimg(img)
on error resume next
chkimg=true
if isnull(img) then chkimg=false:exit function
set chkjpeg = server.createobject("persits.jpeg")
chkpath = server.mappath(img)
chkjpeg.open chkpath
if err then
chkimg=false
end if
if err.number<>0 then err.clear
set chkjpeg=nothing
end function
因为aspjpeg只能处理已经在服务器上的文件,所以实际运用的过程中我们可以这样做:先将图片上传到一个临时文件夹,然后检查图片的合法性,如果合法,复制图片到图片保存目录,删除临时文件并返回上传成功信息,如果非法,直接删除临时文件并返回错误警告。
上一篇: PS文字行间距该怎么调节?