服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - 检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过

检查上传图片是否合法的函数,木马改后缀名、图片加恶意代码均逃不过

2019-09-28 11:50asp教程网 ASP教程

很多ASP程序检查上传图片是否合法往往只去检查文件的后缀,这样有一个很大的安全隐患,就是如果把ASP文件的后缀名改成.jpg或者.gif上传,或者图片里加入恶意代码再上传,那也会被程序认为是图片文件而照传不误。假如不怀好意

今天试了下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只能处理已经在服务器上的文件,所以实际运用的过程中我们可以这样做:先将图片上传到一个临时文件夹,然后检查图片的合法性,如果合法,复制图片到图片保存目录,删除临时文件并返回上传成功信息,如果非法,直接删除临时文件并返回错误警告。

 

延伸 · 阅读

精彩推荐