c#如何防止sql注入?


本文摘自PHP中文网,作者青灯夜游,侵删。

对于网站的安全性,是每个网站开发者和运营者最关心的问题。网站一旦出现漏洞,那势必将造成很大的损失。为了提高网站的安全性,首先网站要防注入。

下面我们给大家介绍C#防止sql注入的几种方法:

方法一:

在Web.config文件下面增加一个如下标签:

1

2

3

< appSettings>

  < add key="safeParameters" value="OrderID-int32,CustomerEmail-email,ShippingZipcode-USzip" />

< /appSettings>

其中key是 < saveParameters>后面的值为”OrderId-int32”等,其中”-“前面表示参数的名称比如:OrderId,后面的int32表示数据类型。

方法二:

在Global.asax中增加下面一段:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

protected void Application_BeginRequest(Object sender, EventArgs e){

  String[] safeParameters = System.Configuration.ConfigurationSettings.AppSettings["safeParameters"].ToString()。Split(',');

  for(int i= 0 ;i < safeParameters.Length; i++){

  String parameterName = safeParameters[i].Split('-')[0];

  String parameterType = safeParameters[i].Split('-')[1];

  isValidParameter(parameterName, parameterType);

  }

  }

  public void isValidParameter(string parameterName, string parameterType){

  string parameterValue = Request.QueryString[parameterName];

  if(parameterValue == nullreturn;

  if(parameterType.Equals("int32")){

  if(!parameterCheck.isInt(parameterValue)) Response.Redirect("parameterError.aspx");

  }

  else if (parameterType.Equals("USzip")){

  if(!parameterCheck.isUSZip(parameterValue)) Response.Redirect("parameterError.aspx");

  }

  else if (parameterType.Equals("email")){

  if(!parameterCheck.isEmail(parameterValue)) Response.Redirect("parameterError.aspx");

  }

  }

方法三:

阅读剩余部分

相关阅读 >>

C#和c ++的区别是什么

详解C#接口在派生类和外部类中的调用方法示例

C#注册控件处理程序(setconsolectrlhandler)函数示例的详细介绍

几个优秀的java和C#代码转换工具

C#高级编程(一)-.net体系结构

C#初步体验fastreport 报表(图)

C#如何计算2个字符串相似度的示例代码分享

.net框架-微软给出的C#编程风格代码实例

C# 清除html标签标记

关于C#中方法的阐述

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...