熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.Net程序如何防止被注入(整站通用)

2022-06-13   來源: .NET編程 

  防止sql注入通常一個一個文件修改不僅麻煩而且還有漏掉的危險下面我說一上如何從整個系統防止注入

  做到以下三步相信的程序將會比較安全了而且對整個網站的維護也將會變的簡單

  數據驗證類parameterCheckcs

  public class parameterCheck{ public static bool isEmail(string emailString){ return SystemTextRegularExpressionsRegexIsMatch(emailString [\\w_]+(\\[\\w_]+)*@[\\w_]+(\\[\\w_]+)*\\[azAZ]{}} public static bool isInt(string intString){ return SystemTextRegularExpressionsRegexIsMatch(intString ^(\\d{}\\d{})(\\d{})$} public static bool isUSZip(string zipString){ return SystemTextRegularExpressionsRegexIsMatch(zipString ^[]+$^[]+$}

  nfig

  在你的nfig文件中在<appSettings>下面增加一個標簽如下

  <appSettings> <add key=safeParameters value=OrderIDintCustomerEmailemailShippingZipcodeUSzip /> </appSettings>

  其中key是<saveParameters>後面的值為OrderIdint其中前面表示參數的名稱比如OrderId後面的int表示數據類型

  Globalasax

  在Globalasax中增加下面一段

  protected void Application_BeginRequest(Object sender EventArgs e){ String[] safeParameters = SystemConfigurationConfigurationSettingsAppSettings[safeParameters]ToString()Split(for(int i= i < safeParametersLength i++){ String parameterName = safeParameters[i]Split()[]String parameterType = safeParameters[i]Split()[]isValidParameter(parameterName parameterType)}

  public void isValidParameter(string parameterName string parameterType){ string parameterValue = RequestQueryString[parameterName]if(parameterValue == null) return

  if(parameterTypeEquals(int)){ if(!parameterCheckisInt(parameterValue)) ResponseRedirect(parameterErroraspx} else if (parameterTypeEquals(double)){ if(!parameterCheckisDouble(parameterValue)) ResponseRedirect(parameterErroraspx} else if (parameterTypeEquals(USzip)){ if(!parameterCheckisUSZip(parameterValue)) ResponseRedirect(parameterErroraspx} else if (parameterTypeEquals(email)){ if(!parameterCheckisEmail(parameterValue)) ResponseRedirect(parameterErroraspx}

  以後需要修改的時候我們只需要修改以上三個文件對整個系統的維護將會大大提高效率當然你可以根據自己的需要增加其它的變量參數和數據類型


From:http://tw.wingwit.com/Article/program/net/201311/13234.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.