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#使用webclient登录网站并抓取登录后的网页信息实现方法

C#实现原图片转缩略图

详解C#winform循环播放多个视频的代码示例

详解C#常见应用函数的实例总结

C#多线程编程实例-线程与窗体交互的代码分析

C#高级编程(三)-对象和类型详解

C#基础入门-关键字的介绍

使用C#生成pdf文件流的代码案例分享

C#相关面试题

详细介绍C#实现关闭子窗口而不释放子窗口对象的方法分享

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




打赏

取消

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

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

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

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

评论

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