ASP编程:具有自进击性的代码
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 具有自进击性的代码 写出这类代码的法式员假如被点破那末必定会被以为是大脑进水,然而这类的代码已漫天飘动乃至成为叶子以为进击网站的最好手腕之一,现看上面的一段代码:<%set dbr = server.createobject("adodb.recordset")
dbr.open "SELECT * from testapp where id="& request("id") ,session("DS"),1,1
for i = 1 to dbr.recordcount %>
<%=dbr("id")%>-<%=dbr("title")%><br>
dbr.movenext
next
dbr.close
set dbr=nothing %>
这段代码是依据输出ID前往ID相干的题目称号,响应的数据库机关剧本为
CREATE TABLE . (
NOT NULL , (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON
然而这个剧本并没有任何的平安反省功效,如许的剧本就是一个体系破绽,先看一下正常剧本的履行情形:在阅读器中正常的敲上天址http://127.0.0.1/testapp/index.asp?id=5
将看到正常的显示了局
http://www.blue.online.tj.cn/upload/images/pjpeg/568.jpg</IMG>
图-2 但假如输出特别的恳求,如http://127.0.0.1/testapp/index.asp?id=5;update%20testapp%20set%20id=id%2b%201
这时候候这段代码中阅读器并没有任何显示
http://www.blue.online.tj.cn/upload/images/pjpeg/569.jpg</IMG>
图-3
好象甚么都没有履行,实践上在外部数据就已变更了,看上面的SQL SERVER的屏幕履行前的数据如图
http://www.blue.online.tj.cn/upload/images/pjpeg/570.jpg</IMG>
图-4 履行后的数据,
如图
http://www.blue.online.tj.cn/upload/images/pjpeg/571.jpg</IMG>
图-5 可见表中数据ID列全体增添了1,正合适在毗连地址栏中巧入的毗连http://127.0.0.1/testapp/index.asp?id=5;update%20testapp%20set%20id=id%2b%201
其实对这个毗连解码再联合法式可以失掉SQL语句 SELECT * from testapp where id=5;update testapp set id=id + 1 毗连中的%20是空格的16进制代码%2b是“+”的十六进制代码
因而构成了以上语句。因为个中分号的感化SQL SERVER将一行SQL语句分化成若干行语句履行因而在履行过SELECT * from testapp where id=5语句后再次履行update testapp set id=id + 1语句使ID列增添1 这个后部的update testapp set id=id + 1也能够依据进击的需求交换成delete 和 insert乃至在权限答应的前提下可使用xp_cmdshell履行CMD号令。
asp可以使用微软的activeX 使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
页:
[1]