asp 判断上传文件中是否存在危险代码
来源:asp之家 发布时间:2011-03-17 11:19:00
代码如下:
<%
function CheckFileContent(FileName)
dim ClientFile,ClientText,ClientContent,DangerString,DSArray,AttackFlag,k
set ClientFile=Server.CreateObject("Scripting.FileSystemObject")
set ClientText=ClientFile.OpenTextFile(Server.MapPath(FileName),1)
ClientContent=LCase(ClientText.ReadAll)
set ClientText=nothing
set ClientFile=nothing
AttackFlag=false
DangerString=".getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=|include|filesystemobject|shell.application"
DSArray=split(DangerString,"|")
for k=0 to UBound(DSArray)
if InStr(ClientContent,DSArray(k))>0 then '判断文件内容中是否包含有危险的操作字符,如有,则必须删除该文件。
AttackFlag=true
exit for
end if
next
CheckFileContent=AttackFlag
end function
If CheckFileContent("0.jpg")=true then
Response.Write "危险"
else
Response.Write "安全"
end if
%>


猜你喜欢
- 1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个人理解:以一个共同的字段求两个表中符合要求的交集,并将每个表符合要求的
- 本文实例讲述了python根据出生日期获得年龄的方法。分享给大家供大家参考。具体如下:这段代码可以根据用户的出生日期获得其年龄,born参数
- paramiko 执行服务器脚本并拿到实时结果import paramikocmd = '{0}/{1} linux 32'
- 本文实例为大家分享了python可视化动态CPU性能监控的具体代码,供大家参考,具体内容如下打算开发web性能监控,以后会去学js,现在用m
- 不同于物理学中的「短路」(Short circuit)那般危险,Python中的短路机制非常有用,跟很多其他编程语言中的短路机制作用类似,一
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp
- 根据“廖雪峰”的教程进行python学习,计划每天抽出1-2个小时的时间进行充电。Python是著名的“龟叔”Guido van Rossu
- AttribteError: ‘module' object has no attribute xxx'描述:模块没有相关属
- 随着ajax再网站建设中的的大范围流行,XmlHttp也自然被人们所熟悉。本文介绍了asp任何检测服务器端是否支持xmlhttp组件的方法,
- 我们知道,TypeScript 支持 infer 来提取类型的一部分,通过模式匹配的方式。模式匹配比如元组类型提取最后一个元素的类型:typ
- 01_msgbox# 使用easygui功能,可以直接导入easygui模块import easygui# 需要弹框时,要使用easygui
- 友情提示,您阅读本篇博文的先决条件如下:1、本文示例基于Microsoft SQL Server 2008 R2调测。2、具备 Transa
- 1.安装登陆确认mysql已经开启2.建库3.建表Create 数据库表右击选择Create Table,填写Table Name,Comm
- // 1.采用计算属性来获取$store中的值computed: { listenstage() {
- 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存
- 基本语句结构if 判断条件1: 执行语句1……elif 判断条件2:
- 1.mysql-通过sql建立连接池连接池用sql.Open函数创建连接池,可是此时只是初始化了连接池,并没有创建任何连接。连接创建都是惰性
- 背景:我在爬虫处理某个文本时,用到了re.findall(),而不是re.compile。远在新加坡的同事提出了质疑,认为以我的水平,不应该
- 数据表/*Navicat SQLite Data TransferSource Server &n
- 本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。1. isset功能:判断变量是