小妖女 发表于 2015-1-16 22:47:15

ASP教程之ASP上两个避免SQL注进式打击Function

帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。打击==========================
过滤提交表单中的SQL
==========================
functionForSqlForm()
dimfqys,errc,i,items
dimnothis(18)
nothis(0)="netuser"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="netlocalgroupadministrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)=""
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"

nothis(19)="@"
errc=false
fori=0toubound(nothis)
foreachitemsinrequest.Form
ifinstr(request.Form(items),nothis(i))0then
response.write("<div>")
response.write("你所填写的信息:"&server.HTMLEncode(request.Form(items))&"<br>含不法字符:"&nothis(i))
response.write("</div>")
response.write("对不起,你所填写的信息含不法字符!<ahref=""#""history.back()"">前往</a>")
response.End()
endif
next
next
endfunction
==========================
过滤查询中的SQL
==========================
functionForSqlInjection()
dimfqys,errc,i
dimnothis(19)
fqys=request.ServerVariables("QUERY_STRING")
nothis(0)="netuser"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="netlocalgroupadministrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)=""
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"

nothis(19)="@"
errc=false
fori=0toubound(nothis)
ifinstr(FQYs,nothis(i))0then
errc=true
endif
next
iferrcthen
response.write"查询信息含不法字符!<ahref=""#""history.back()"">前往</a>"
response.end
endif
endfunction
</p>帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。

兰色精灵 发表于 2015-1-19 23:41:12

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

老尸 发表于 2015-1-25 23:36:29

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

不帅 发表于 2015-2-4 13:08:06

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

深爱那片海 发表于 2015-2-9 23:00:24

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

海妖 发表于 2015-2-28 03:49:25

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

精灵巫婆 发表于 2015-3-9 20:37:27

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

因胸联盟 发表于 2015-3-17 01:08:04

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

金色的骷髅 发表于 2015-3-17 01:08:03

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

若相依 发表于 2015-3-23 11:28:38

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
页: [1]
查看完整版本: ASP教程之ASP上两个避免SQL注进式打击Function