ASP网页编程之关于Request
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。requestRequest工具切磋<P>Request是ASP里的一个外部工具,用于猎取HTTP哀求中传送的恣意信息(如头信息、表双数据、cookies等等)。以是这是在ASP内里最经常使用的外部工具,经常使用来取得GET体例提交的数据(Request.QueryString)、表单POST提交的数据(Request.Form)和Cookies(Request.Cookies)。<P>我们用Request工具能够指定猎取某个特定体例提交的数据。好比我们用这段代码取得经由过程POST提交的数据lake2的值:request.Form("lake2");而request.queryString("CSDN")取得GET体例提交的CSDN的值。<P>关于猎取HTTP数据,ASP还给了我们一个更复杂的办法:request(key),即间接利用request而不指定命据汇合。此时ASP会顺次在QueryString、From、Cookies、ServerVariables、ClientCertificate、Browser中反省婚配的数据,若发明则前往数据。<P>下面6个汇合中,ServerVariables、ClientCertificate和Browser的变量是流动了的;而QueryString、From、Cookies的变量能够恣意指定。想不到Cookies能够拿来传送恣意数据,之前倒没有注重。<P>OK,test一下先。在当地web目次新建test.asp文件,内容为:<%=request("b")%><P>Step1:间接会见http://127.0.0.1/test.asp?b=la<b>k</b>e2,扫瞄器显现lake2<P>Step2:机关表单提交了局也如step1<P>Step3:机关表单,GET传送b值为“He”,同时POST的b为“She”,扫瞄器显现为“He”。呵呵,按后面的排序有个优先级的Step4:Telnet到当地80端口,机关HTTP哀求以下(注重Cookies哦):<P>GET/test.aspHTTP/1.1<P>Accept:*/*Accept-Language:zh-cnAccept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;TencentTraveler;.NETCLR1.1.4322)Host:127.0.0.1Connection:Keep-AliveCookie:b=lake2,Success!
<P>在一堆服务器呼应数据以后,我们看到了“lake2,Success!”(Q:为何空格不见了?A:由于未对提交的空格举行URL编码)。到此,我们已实际和实践相分离的证实了Cookies能够拿来传送数据。Request工具与SQL打针
<P>如今把话题转一下,我们来讲说SQLInjection。<P>SQL打针打击是因为Web使用程序没有过滤用户所提交的无害数据而招致伤害服务器的一种打击伎俩。注重咯,这里触及到提交数据,天然要跟方才说了一年夜堆的request接洽上啊。<P>归根结柢,ASP上面的SQL打针都是因为request的参数没有过滤大概过滤不严。固然,程序员不是平安专家,他们大概不晓得怎样过滤。<P>因而,收集上就呈现了通用的防打针ASP程序――“SQL通用防注进体系”。经由一段工夫和几个作者的改善,该程序已对照完美了,基础上能够拦阻SQL打针(可是,团体以为它的过滤体例太严,形成很多方便)。“SQL通用防注进体系”是个asp文件,只需在有参数提交的文件中include它就是了。程序过滤的道理是遍历GET和POST参数的值,发明SQL打针关头字(如and、select)就中断一般文件实行。<P>嘿嘿,它遍历GET和POST,也就是Request工具的QueryString和From汇合,疏忽了Cookies。如今,我们假定有一个SQLInjection毛病百出的ASP程序,具有收集平安常识的办理员同砚在网高低载并利用了传说中的“SQL通用防注进体系”,可是很不幸,ASP程序中一切猎取参数都是利用的request(key)……(呵呵,眼看着一个个封闭被冲破,那是很enjoy的事变^_^)这里仅仅是假定罢了,至于实践中究竟有几ASP程序员喜好用request(key)来猎取数据就不得而知咯。
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 那么,ASP.Net有哪些改进呢?
页:
[1]