|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。程序<Pstyle="TEXT-INDENT:2em">避免Sql注进,一般一个一个文件修正不但贫苦并且另有遗漏的伤害,上面我说一上怎样从全部体系避免注进。<Pstyle="TEXT-INDENT:2em">做到以下三步,信任的程序将会对照平安了,并且对全部网站的保护也将会变的复杂。<Pstyle="TEXT-INDENT:2em">1、数据考证类<Pstyle="TEXT-INDENT:2em">- 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">- <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">- 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仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。 |
|