仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 484|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页设计ASP最终提防上传毛病

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。上传|上传毛病实在不管是组件仍是非组件上传,都有这个毛病,以下代码请必要得伴侣细心浏览,只需读懂代码就可以举一反三。

这里以ASPUPLOAD组件上传为例

以下3个关头函数:

functionkillext(byvals1)干失落不法文件后缀
dimallowext
allowext=".JPG,.JPEG,.GIF,.BMP,.PNG,.SWF,.RM,.MP3,.WAV,.MID,.MIDI,.RA,.
AVI,.MPG,.MPEG,.ASF,.ASX,.WMA,.MOV,.RAR,.ZIP,.EXE,.DOC,.XLS,.CHM,.HLP,.PDF"
s1=ucase(s1)
iflen(s1)=0then
killext=""
else
ifnotchk(allowext,s1,",")then
killext=".shit"
else
killext=s1
endif
endif
endfunction

functionchk(byvals1,byvals2,byvalfuhao)反省字符串包括
dimi,a
chk=false
a=split(s1,fuhao)
fori=0toubound(a)
iftrim(a(i))=trim(s2)then
chk=true
exitfor
endif
next
endfunction

functiongname(byvaln1)以日期主动发生目次和文件名,参数1天生目次,参数2天生文件名(无后缀)
dimt,r
t=now()
randomize(timer)
r=int((rnd+1-1)*9999)
selectcasen1
case1
gname=year(t)&right("00"&month(t),2)&right("00"&day(t),2)
case2
gname=right("00"&hour(t),2)&right("00"&minute(t),2)&right("00"&second(t),2)&right("0000"&r,4)
endselect
endfunction

挪用办法:

dimoup,ofile,ext,myfile

Setoup=Server.CreateObject("Persits.Upload")
oup.SetMaxSize10000000,True
calloup.Save()这里是上传到服务器内存,并没有实践文件发生
setofile=oup.files(1)
ext=killext(ofile.ext)

myfile="/"&ganme(1)&"/"&gname(2)&ext

callofile.saveas(server.mappath(myfile))



附加申明:

黑客假如用nc上传不法文件,终极失掉的文件只是

如200511051234559103.shit

之类的“狗屎”文件!</p>asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 22:58:47 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
莫相离 该用户已被删除
板凳
发表于 2015-1-28 14:41:28 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-5 15:45:14 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-12 20:16:53 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
小妖女 该用户已被删除
6#
发表于 2015-3-11 09:49:57 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
精灵巫婆 该用户已被删除
7#
发表于 2015-3-18 03:30:35 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
小女巫 该用户已被删除
8#
发表于 2015-3-25 11:22:15 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-30 05:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表