真正实现用ASP无须第三方组件上传任意类型的文件

一直以来,由于FileSystemObject的局限,所以ASP最大的难题就是文件上传,大多解决法就是安装第三方上传组件。可第三方组件有很多问题,有的组件要注册,有的组件要在表单中加上他的版权信息。还有的就是组件的兼容问题。

在网上也流传了很多无组件上传的代码,但都是只能上传文本文件,或是只能将文件上传到数据库中。

我这段时间在研究ASP,发现可以不用第三方组件上传任意类型的文件。就写了这个类,给大家一个方便,整个类放在一个文件中: upload_5xsoft.inc 在 Example 目录下还有一个完整的多文件上传示例程序,可以直接使用.

[阅读使用说明...]

[下载源代码... ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
参考:https://blog.csdn.net/sysdzw/article/details/80562058 微标ASP上传类 v1.3(无刷新、无组件、多文件上传,并且可查杀木马,utf-8格式) 请将本程序放到你的虚拟主机上运行,如果本地有iis也可以(注意定要把iis那儿的上传大小限制的200k改大点,参考下面第二点)。注意不要使用一些简易asp服务器,会有莫名其妙的错误。 如果只需要上传文件可以把index.htm中的multiple="multiple"删除掉,对应的多文件前端显示及处理需要您对upload.asp进行修改调整,然后前端ajax获取数据进行处理。 关于“微标ASP上传类 v1.3”更新摘要: '========================================================================================================= '类 名 : 微标ASP上传类 v1.3(无刷新、无组件、多文件上传,并且可查杀木马,utf-8格式) '作 者 : sysdzw '联系QQ : 171977759 '网 站 : https://blog.csdn.net/sysdzw '版 本 : v1.0 以化境ASP无组件上传作为初版v1.0, 之后进行了多项修改。 ' v1.1 修正了批量上传时file.add语句的报错问题。原因是键值冲突,本版本对键值做了唯一化处理。 2018-06-04 ' v1.2 修改文件格式为utf-8格式,以提高兼容性 2018-08-13 ' 修改代码中部分Charset="gb2312"为Charset="utf-8",以提高兼容性 ' 增加了图片木马检测功能。在上传的时候以gb2312格式读入字符串检测是否包含request等关键字 ' v1.3 改进了图片木马检测功能。加入了更多的关键字判断,让木马无处遁形 2018-10-04 '========================================================================================================= 相关参数设置: 1.ajax_upload.asp中的参数设置说明: (1)SavePath 上传目录,默认为“uploadfiles”。 2.clsUpload.asp中的参数设置说明: (1)AllowFiles 所允许上传文件格式,默认为"jpg,jpeg,gif,png"。 (2)MaxDownFileSize 允许上传文件大小,默认30M,注意iis默认限制就200k,您需要在iis那儿做设置,网站 - asp - 限制属性 - 最大请求实体主体限制,加上两个0,改成20000000,这样就改成20M了。 3.index.htm中的参数说明 在第32和37行,分别是判断类型和大小的,可根据需要修改。这里是前端检测文件类型和大小的,可减轻服务器工作。后端要等文件post完成才能开始检测,假设误选择了个几百兆的exe、rar等文件网页直接卡死。早发现文件早提示。 查杀图片木马原理:一些图片会被不法分子插入些可执行的asp代码,在被include的时候悄悄执行,我们将图片以文本方式进行检查,判断是否包含某些关键字,如果包含就停止上传,总而提高了服务器的安全。 本来想打包个图片木马文件供大家测试,担心上传会不通过,而且下载了后本机的360等软件也会报毒,这样会吓坏一批小白,以为我代码有什么后门。。其实就那么几行代码,大家可以逐行看,没什么机关的。如果一定想试验下代码的效果可以百度下asp图片木马制作方法,然后自己做个图马上传测试看看。 本程序由sysdzw提供。如有需技术支持可联系QQ:171977759
asp无组件上传类v0.98(无刷新ajax上传,可检查图片木马,支持多文件,utf-8版) 请将本程序放到你的虚拟主机上运行,如果本地有iis也可以。有些同学有简易iis服务器,不适用本程序的,因为有部分中文字符不能识别导致无法运行。 如果需要上传文件可以把index.htm中的multiple="multiple"删除掉,对应的多文件前端显示及处理需要您对upload.asp进行修改调整,然后前端ajax获取数据进行处理。 关于“无组件上传类 Version 0.96”修改摘要: '修改点 : v0.97 修复了一个错误。当用户在同一个file控件选择多个文件上传时file.add语句会出错, 2018-06-04 '   原因是键值冲突,本版本对键值做了唯一化处理。 ' v0.98 将Charset="gb2312" 改成Charset="utf-8",所有文件格式都改成utf8了 2018-8-11 ' 修改了在上传的时候检查图片是否被注入了代码,比如<% 、request 等关键字符 相关参数设置: 1.ajax_upload.asp中的参数设置说明: (1).SavePath 上传目录,默认为“uploadfiles”。 2.clsUpload.asp中的参数设置说明: (1).AllowFiles 所允许上传文件格式,默认为"jpg,jpeg,gif,png"。 (2).MaxDownFileSize 允许上传文件大小,默认30M,注意iis默认限制就几百k,您需要在iis那儿做设置,网站 - asp - 限制属性 - 最大请求实体主体限制,加上两个0,改成20000000,这样就改成20M了。 3.index.htm中的参数说明 在第27和32行,分别是判断类型和大小的,可手动修改。这里是前端检测文件类型和大小的,可减轻服务器工作。后端要等文件post完成才能开始检测,假设误选择了个几百兆的exe、rar等文件网页直接卡死。 提示:在clsUpload.asp的第134行对文件中可能存在的危险asp代码做了简单的检查,具体是判断是否包含“request”字符串,如果需要对其他代码判断可在此处修改。建议不要以判断<%、eval、%>这3个特殊字符串来确定图片木马,因为正常文件中可能也有,而且有些图马文件没有<%。 如果需要测试图片木马文件可以自己百度制作方法,按照教程做几个图片木马文件然后用本程序上传测试。 本程序由sysdzw提供。如有需技术支持可联系QQ:171977759 09:02 2018-08-13
可以使用C#语言和ASP.NET框架来调用第三方接口。以下是调用第三方接口的基本步骤: 1. 导入相关的命名空间和程序集。 2. 创建一个WebRequest对象,并设置请求的地址、方法、参数等信息。 3. 发送请求并获取响应数据。 4. 处理响应数据,提取所需的信息。 例如,如果要调用一个天气预报的第三方接口,可以按照以下步骤来实现: 1. 导入相关命名空间和程序集: ``` using System; using System.Net; using System.IO; using System.Text; using System.Web.Script.Serialization; ``` 2. 创建一个WebRequest对象,并设置请求的地址和方法: ``` string url = "http://api.weather.com/weather"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; ``` 3. 设置请求参数: ``` string postData = "city=beijing&date=2021-07-01&key=your_api_key"; byte[] byteArray = Encoding.UTF8.GetBytes(postData); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); ``` 4. 发送请求并获取响应数据: ``` HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string responseJson = reader.ReadToEnd(); reader.Close(); responseStream.Close(); response.Close(); ``` 5. 解析响应数据,提取所需的信息: ``` JavaScriptSerializer serializer = new JavaScriptSerializer(); dynamic result = serializer.Deserialize(responseJson, typeof(object)); string weather = result["weather"]["condition"]; ``` 以上是一个基本的调用第三方接口的示例,实际应用中可能需要根据具体的接口来设置请求参数和解析响应数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pccrazy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值