ASP网站制作之ASP法式暗码验证成绩 (MS,缺点)
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 触及法式:MS IIS
描写
国际一大先生发明的NT网站的ASP法式暗码验证破绽
具体
来自: benjurry@263.net
原文以下:
很早就发明良多国际法式员对暗码验证不注重,明天去了陈水扁(www.abian.net)的网沾,顺手一试,竟然发明有这类破绽,真是让人笑破肚皮!
道理:
良多网站把暗码放到数据库中,在上岸验证顶用以下sql,(以asp为李)
sql="select * from user where username='"&username&"'and pass='"& pass&'"
此时,您只需依据sql机关一个特别的用户名和暗码,如:ben' or '1'='1
hehe ...是否是出来了??
-----------------------------------------------------------------------
注释:
上述的SQL语句是ASP法式的if判别的一局部,假如该语句前往为真,则暗码验证经由过程。
输出 ben' or '1'='1如许的用户名以后,其验证的语句将履行为:
sql="select * from user where username='"& ben' or '1'='1 &"'and pass='"& pass&'"
由于1=1为真,因为 or 逻辑运算符的感化,这个语句将前往为真。
所以验证经由过程。
处理计划
ASP法式员应当用更周密的判别语句来避免这个平安成绩
上面是发明者提出的处理计划:
对照好的应当依照以下体例:
1、处置输出字符,
2、处置‘,|等字符
3、select * from user where user=’ " & User & "' "
4、假如前往不为假,则取暗码
pass=rs("passwd")
5、判别:if pass=password
6、得出结论。
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
页:
[1]
2