NET网页编程之探究ASP.NET Forms考证的相干平安性成绩
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。<p>ASP.NETForms考证次要是为了避免Forms被破抒难害网站的平安,明天我们将从复杂的Forms入手下手报告,最初解说危急将带来甚么成果。ASP.NET供应了内置的登录考证,最为经常使用的就是Forms考证。解说怎样设置的文章十分多,这里就不再讲怎样设置利用这个考证的体例了。上面讲讲其在平安性上存在的一些被无视的成绩。实在它自己没有成绩,而利用的体例上会附带出来一些成绩。
本文将分三部分讲实践使用中将会碰到的平安性成绩,而且加以研讨,并实验提出办理计划。
1、复杂的Forms被破抒难机
2、垂直分别站点的Forms被破抒难机
3、危急将带来甚么成果
1、复杂的Forms被破抒难机
最复杂的一个ASP.NETForms考证,在web.config下设置节点:
<OLclass=dp-xml><authenticationmode="Forms"><formsname=".MyCookies"></forms></authentication>
编写一个匡助类:
<divclass="code"><OLclass=dp-c>CookieHelper类publicstaticclassCookieHelper{publicstaticstringEncrypt(stringname,stringvalue){FormsAuthenticationTicketticket=newFormsAuthenticationTicket(1,name,DateTime.Now,DateTime.Now.AddDays(1),true,value,"/");stringauthTicket=FormsAuthentication.Encrypt(ticket);returnauthTicket;}publicstaticvoidSet(stringname,stringvalue){HttpCookiecookie=newHttpCookie(FormsAuthentication.FormsCookieName,Encrypt(name,value));cookie.Expires=DateTime.Now.AddDays(1);if(HttpContext.Current.Response.Cookies==null)HttpContext.Current.Response.Cookies.Add(cookie);elseHttpContext.Current.Response.Cookies.Set(cookie);}publicstaticstringGet(){if(HttpContext.Current.Request.Cookies==null)returnnull;else{returnHttpContext.Current.Request.Cookies.Value;}} Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]