ASP上传防止图片木马上传的方法
ASP #上传 #木马2012-05-12 10:57
主要是要检测上传的文件。不要相信一切网友上传的东西。
const adTypeBinary=1 '一个网 yige.org dim jpg(1):jpg(0)=CByte(&HFF;):jpg(1)=CByte(&HD8;) dim bmp(1):bmp(0)=CByte(&H42;):bmp(1)=CByte(&H4D;) dim png(3):png(0)=CByte(&H89;):png(1)=CByte(&H50;):png(2)=CByte(&H4E;):png(3)=CByte(&H47;) dim gif(5):gif(0)=CByte(&H47;):gif(1)=CByte(&H49;):gif(2)=CByte(&H46;):gif(3)=CByte(&H39;):gif(4)=CByte(&H38;):gif(5)=CByte(&H61;) Response.Write CheckFileType(Server.MapPath("2.gif")) function CheckFileType(filename) on error resume next CheckFileType=false dim fstream,fileExt,stamp,i fileExt=mid(filename,InStrRev(filename,".")+1) set fstream=Server.createobject("ADODB.Stream") fstream.Open fstream.Type=adTypeBinary fstream.LoadFromFile filename fstream.position=0 select case fileExt case "jpg","jpeg" stamp=fstream.read(2) for i=0 to 1 if ascB(MidB(stamp,i+1,1))=jpg(i) then CheckFileType=true else CheckFileType=false next case "gif" stamp=fstream.read(6) for i=0 to 5 if ascB(MidB(stamp,i+1,1))=gif(i) then CheckFileType=true else CheckFileType=false next case "png" stamp=fstream.read(4) for i=0 to 3 if ascB(MidB(stamp,i+1,1))=png(i) then CheckFileType=true else CheckFileType=false next case "bmp" stamp=fstream.read(2) for i=0 to 1 if ascB(MidB(stamp,i+1,1))=bmp(i) then CheckFileType=true else CheckFileType=false next end select fstream.Close set fseteam=nothing if err.number<>0 then CheckFileType=false end function
相关文章
- asp数字或者字符排序的函数 2012/05/11
- ASP采集HTML内容常用代码 2012/05/11
- ASP防止刷新的功能实现方法 2012/05/11
- ASP把UTF8转换GB2312国标码的函数 2012/05/11
- asp小偷:获取微软安全更新列表 2012/05/11
- ASP去前后空格函数trim,ltrim,rtrim 2012/05/11
- ASP获取ACCESS数据库表名和结构的代码 2012/05/11
- asp过滤HTML标签的函数 2012/05/11
- ASP在线备份与恢复sqlserver数据库 2012/05/11
- ASP伪静态下实现utf-8文件缓存 2012/05/11