仓酷云

标题: ASP.NET网站制作之黑客教你 Net程序怎样避免被注进 [打印本页]

作者: 爱飞    时间: 2015-1-16 22:47
标题: ASP.NET网站制作之黑客教你 Net程序怎样避免被注进
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。程序<Pstyle="TEXT-INDENT:2em">避免Sql注进,一般一个一个文件修正不但贫苦并且另有遗漏的伤害,上面我说一上怎样从全部体系避免注进。<Pstyle="TEXT-INDENT:2em">做到以下三步,信任的程序将会对照平安了,并且对全部网站的保护也将会变的复杂。<Pstyle="TEXT-INDENT:2em">1、数据考证类<Pstyle="TEXT-INDENT:2em">
  1. parameterCheck.cspublicclassparameterCheck{publicstaticboolisEmail(stringemailString){returnSystem.Text.RegularExpressions.Regex.IsMatch(emailString,"[w_-]+(.[w_-]+)*@[w_-]+(.[w_-]+)*.[a-zA-Z]{2,4}");}publicstaticboolisInt(stringintString){returnSystem.Text.RegularExpressions.Regex.IsMatch(intString,"^(d{5}-d{4})|(d{5})$");}publicstaticboolisUSZip(stringzipString){returnSystem.Text.RegularExpressions.Regex.IsMatch(zipString,"^-[0-9]+$|^[0-9]+$");}}
复制代码
<Pstyle="TEXT-INDENT:2em">2、Web.config<Pstyle="TEXT-INDENT:2em">在你的Web.config文件中,鄙人面增添一个标签,以下:<Pstyle="TEXT-INDENT:2em">
  1. <appSettings><addkey="safeParameters"value="OrderID-int32,CustomerEmail-email,ShippingZipcode-USzip"/></appSettings>
复制代码
<Pstyle="TEXT-INDENT:2em">个中key是前面的值为“OrderId-int32”等,个中“-”后面暗示参数的称号好比:OrderId,前面的int32暗示数据范例。<Pstyle="TEXT-INDENT:2em">3、Global.asax<Pstyle="TEXT-INDENT:2em">在Global.asax中增添上面一段:<Pstyle="TEXT-INDENT:2em">
  1. protectedvoidApplication_BeginRequest(Objectsender,EventArgse){String[]safeParameters=System.Configuration.ConfigurationSettings.AppSettings["safeParameters"].ToString().Split(,);for(inti=0;i<safeParameters.Length;i++){StringparameterName=safeParameters.Split(-)[0];StringparameterType=safeParameters.Split(-)[1];isValidParameter(parameterName,parameterType);}}publicvoidisValidParameter(stringparameterName,stringparameterType){stringparameterValue=Request.QueryString[parameterName];if(parameterValue==null)return;if(parameterType.Equals("int32")){if(!parameterCheck.isInt(parameterValue))Response.Redirect("parameterError.aspx");}elseif(parameterType.Equals("double")){if(!parameterCheck.isDouble(parameterValue))Response.Redirect("parameterError.aspx");}elseif(parameterType.Equals("USzip")){if(!parameterCheck.isUSZip(parameterValue))Response.Redirect("parameterError.aspx");}elseif(parameterType.Equals("email")){if(!parameterCheck.isEmail(parameterValue))Response.Redirect("parameterError.aspx");}}
复制代码
今后必要修正的时分我们只必要修正以上三个文件,对全部体系的保护将会年夜年夜进步效力,固然你能够依据本人的必要增添别的的变量参数和数据范例。
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。
作者: 飘飘悠悠    时间: 2015-1-19 23:51
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
作者: 深爱那片海    时间: 2015-1-25 18:47
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 莫相离    时间: 2015-2-3 13:24
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
作者: 小妖女    时间: 2015-2-9 02:37
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者: 海妖    时间: 2015-2-26 18:34
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
作者: 再见西城    时间: 2015-3-8 16:40
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
作者: 小女巫    时间: 2015-3-16 05:52
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 再现理想    时间: 2015-3-22 20:26
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2