C#检测是否有危险字符的SQL字符串过滤方法
作者:shichen2014 时间:2023-10-11 12:48:48
本文以一个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;
}
以下是检测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;
}
标签:C#,检测,SQL,字符串,过滤
0
投稿
猜你喜欢
C# .NET 中的缓存实现详情
2023-05-30 18:35:12
Spring Boot学习入门之AOP处理请求详解
2023-11-27 10:55:17
Android EditText限制输入整数和小数的位数的方法示例
2022-12-23 05:15:30
C#实现winform中RichTextBox在指定光标位置插入图片的方法
2022-04-04 01:50:16
Android自定义View实现微信语音界面
2022-03-27 20:35:27
Java 程序员掌握 Spring Boot非常有必要
2021-06-27 19:06:52
详解Java中NullPointerException异常的原因详解以及解决方法
2023-01-22 20:13:28
C#警惕匿名方法造成的变量共享实例分析
2021-08-26 19:35:22
C#调用Java方法实例详解
2021-10-16 22:50:20
Android 中View.onDraw(Canvas canvas)的使用方法
2022-11-16 16:40:48
简单聊聊c# 事件
2022-03-05 06:16:52
C#纹理画刷TextureBrush用法实例
2023-03-17 07:23:12
C#使用符号表实现查找算法
2022-08-07 01:16:45
Windows下RabbitMQ安装及配置详解
2022-04-29 08:11:18
基于springboot+vue实现垃圾分类管理系统
2023-04-17 08:39:11
c#动态执行脚本的3种方式详解
2021-09-11 13:41:58
Android开发之ViewPager实现滑动切换页面
2023-03-10 05:32:43
Android图片无限轮播的实现代码
2023-02-12 14:57:20
Java读取txt文件中的数据赋给String变量方法
2022-08-04 22:32:19
c#多线程网络聊天程序代码分享(服务器端和客户端)
2022-08-10 00:32:48