• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#检测是否有危险字符的SQL字符串过滤方法

C#检测是否有危险字符的SQL字符串过滤方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#替换字符串中的字符,c#字符数组转字符串,c#字符转字符串,c#字符串插入字符,c#字符串删除指定字符等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文以一个C#的SQL数据库字串操作函数为例,说明如何实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入等功能。具体实现代码如下:

SQL字符串过滤函数:

public static bool ProcessSqlStr(string Str)
{
  bool ReturnValue = true;
  try
  {
    if (Str.Trim() != "")
    {
      string SqlStr = "exec|insert+|select+|delete|update|count|chr|mid|master+|truncate|char|declare|drop+|drop+table|creat+|create|*|iframe|script|";
      SqlStr += "exec+|insert|delete+|update+|count(|count+|chr+|+mid(|+mid+|+master+|truncate+|char+|+char(|declare+|drop+table|creat+table";
      string[] anySqlStr = SqlStr.Split('|');
      foreach (string ss in anySqlStr)
      {
        if (Str.ToLower().IndexOf(ss) >= 0)
        {
          ReturnValue = false;
          break;
        }
      }
    }
  }
  catch
  {
    ReturnValue = false;
  }
  return ReturnValue;
}
</div>

以下是检测SQL语句中是否包含有非法危险的字符:

/// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
{
  return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql语句中的转义字符
/// </summary>
public static string mashSQL(string str)
{
  string str2;
  if (str == null)
  {
    str2 = "";
  }
  else
  {
    str = str.Replace("\'", "'");
    str2 = str;
  }
  return str2;
}
</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#使用二分查找法判断指定字符的方法
  • C#简单判断字符编码的方法
  • C#检查字符串是否是合法URL地址的方法
  • C#查找字符串所有排列组合的方法
  • C#遍历删除字符串中重复字符
  • C#删除字符串中重复字符的方法
  • C#判断字符串是否存在字母及字符串中字符的替换实例
  • C#统计字符串里中文汉字个数的方法
  • C#检测是否有危险字符的SQL字符串过滤方法
  • c#判断字符是否为中文的三种方法分享(正则表达式判断)

相关文章

  • 2017-05-28C#基本概念列举详解
  • 2017-05-28C#检查键盘大小写锁定状态的方法
  • 2017-05-28基于C# 中可以new一个接口?的问题分析
  • 2017-05-28winform中写app.config文件时调试情况下没有改变的原因
  • 2017-05-28WinForm相对路径的陷阱
  • 2017-05-28逐步讲解快速排序算法及C#版的实现示例
  • 2017-05-28C#中字符串的一般性和特殊性
  • 2017-05-28通俗易懂的C#之反射教程
  • 2017-05-28C# 绘制统计图大全(柱状图, 折线图, 扇形图)
  • 2017-05-28C#获取进程和对进程的操作

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .NET创建、删除、复制文件夹及其子文件的实例方法
    • C#远程获取图片文件流的方法
    • C#使用iTextSharp添加PDF水印
    • C#调用WinRar执行rar、zip压缩的方法
    • C# Struct的内存布局问题解答
    • C#自定义日志记录
    • C# 参数按照ASCII码从小到大排序(字典序)
    • VS2012 程序打包部署图文详解
    • 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
    • Visual C#.Net 网络程序开发-Socket篇第1/2页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有