C#验证用户输入信息是否包含危险字符串的方法

 更新时间:2015年03月27日 10:29:37   作者:feige  
这篇文章主要介绍了C#验证用户输入信息是否包含危险字符串的方法,可针对and、or、exec、insert、select等SQL操作技巧进行过滤操作,非常具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#验证用户输入信息是否包含危险字符串的方法。分享给大家供大家参考。具体分析如下:

这个C#函数可以用于表单输入数据的后端验证,判断用户是否提交了一些sql相关的危险注入字符

/// <summary>
/// 检测客户输入的字符串是否有效,并将原始字符串修改为有效字符串或空字符串
/// 当检测到客户的输入中有攻击性危险字符串,则返回false,有效返回true。
/// </summary>
/// <param name="input">要检测的字符串</param>
public static bool IsValidInput(ref string input)
{
  try
  {
 if (IsNullOrEmpty(input))
 {
   //如果是空值,则跳出
   return true;
 }
 else
 {
   //替换单引号
   input = input.Replace("'", "''").Trim();

   //检测攻击性危险字符串
   string testString = "and |or |exec |insert |select |delete |update |count |chr |mid |master |truncate |char |declare ";
   string[] testArray = testString.Split('|');
   foreach (string testStr in testArray)
   {
 if (input.ToLower().IndexOf(testStr) != -1)
 {
   //检测到攻击字符串,清空传入的值
   input = "";
   return false;
 }
   }
   //未检测到攻击字符串
   return true;
 }
  }
  catch (Exception ex)
  {
 throw new Exception(ex.Message);
  }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#实现图片上传(PC端和APP)保存及 跨域上传说明

    C#实现图片上传(PC端和APP)保存及 跨域上传说明

    这篇文章主要介绍了C#实现图片上传(PC端和APP)保存及 跨域上传说明的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • C#获取本机IP地址(ipv4)

    C#获取本机IP地址(ipv4)

    本文主要介绍了C#获取本机所有IP地址的方法、C#获取本机IP地址(ipv4)的方法等。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • unity3D实现三维物体跟随鼠标

    unity3D实现三维物体跟随鼠标

    这篇文章主要为大家详细介绍了unity3D实现三维物体跟随鼠标,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • C# 邮件发送和接收实现代码

    C# 邮件发送和接收实现代码

    这两个方法很容易理解,只实现了最基本的功能,如果需要可以查看源代码获取更多信息。
    2009-07-07
  • C#中的modbus Tcp协议的数据抓取和使用解析

    C#中的modbus Tcp协议的数据抓取和使用解析

    这篇文章主要介绍了C#中的modbus Tcp协议的数据抓取和使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C#控件picturebox实现图像拖拽和缩放

    C#控件picturebox实现图像拖拽和缩放

    这篇文章主要为大家详细介绍了C#控件picturebox实现图像拖拽和缩放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • C#在子线程中更新窗口部件的写法

    C#在子线程中更新窗口部件的写法

    这篇文章主要介绍了C#在子线程中更新窗口部件的写法,本文直接给出代码示例,需要的朋友可以参考下
    2015-06-06
  • 使用VS2019生成C#应用安装包的方法步骤

    使用VS2019生成C#应用安装包的方法步骤

    本文主要介绍了使用VS2019生成C#应用安装包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C#实现根据实体类自动创建数据库表

    C#实现根据实体类自动创建数据库表

    本文主要介绍了C#通过自定义特性实现根据实体类自动创建数据库表的方法。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • 详解C#如何实现树形图列表

    详解C#如何实现树形图列表

    这篇文章主要为大家详细介绍了如何利用C#实现树形图列表,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-12-12

最新评论