很多ASP程序检查上传图片是否合法往往只去检查文件的后缀,这样有一个很大的安全隐患,就是如果把ASP文件的后缀名改成.jpg或者.gif上传,或者图片里加入恶意代码再上传,那也会被程序认为是图片文件而照传不误。假如不怀好意的人上传个木马文件进去,虽然是后缀为jpg也许无法直接运行,但确确实实给服务器带来了很大的安全隐患。
今天试了下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