C#检测是否有危险字符的SQL字符串过滤方法
本文以一个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#实现协同过滤算法的实例代码
复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace SlopeOne{ public class Rating { public float Value { get; set; } public int Freq { get; set; } public float AverageValue
-
C#实现过滤html标签并保留a标签的方法
本文实例展示C#实现过滤html标签,汉字间空格,制表符,并保留a标签的方法.分享给大家供大家参考之用.具体方法如下: 可以在公共类如Common中定义如下方法: public static string ClearHtmlExceptA(string html) { string acceptable = "a"; string stringPattern = @"</?(?(?=" + acceptable + @")notag|[a-zA-Z0
-
C#敏感词过滤实现方法
本文实例讲述了C#敏感词过滤实现方法.分享给大家供大家参考.具体如下: 这两天突然想到了敏感词过滤 就结合网上找到的资料自己写了一个,脏字数量700+(效率不是很高 测试在110多KB的情况下比replace快 3-4倍) 测试结果图 单位:秒 代码如下: System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length); string filterText = "需要过滤的脏字 以|分开"; //脏字
-
C# 撒列实现关键字过滤的实例
一直对搜索.过滤很好奇,觉得他们很有技术含量,只有非常NB的人才能做.很想知道他们的原理,实现这样的功能,设计是不是必须得非常NB非常奇特,代码是不是要写得非常好,性能非常高.总之这一切都不是我这样级别的人能做的.直到我看了<编程珠玑(第二版)>中的这么一段文字: "假定我们可以在执行搜索之前对文本内容进行预处理,那么我们可以建立一个撒列表(或者搜索树),为文档中的每个不同的单词建立索引,并为每个单词的每次出现存储一个链表,这样的逆向索引使得程序可以很快的找到给定的单词,为了查找短语
-
C#中文件名或文件路径非法字符判断方法
文件路径或者保存模板出现非法字符判断 1)不为空判断 string strTemplateName = txtTemplateName.Text; if (string.IsNullOrWhiteSpace(strTemplateName)) { Show("请输入模板名称!", "提示", .Information, OK); txtTemplateName.Focus(); return; } 2)然后对strTemplateName 进行非法字符判断 if (
-
C#实现简单过滤非法字符实例
本文实例讲述了C#实现简单过滤非法字符的方法.分享给大家供大家参考,具体如下: #region 过滤非法字符 public static string encoding(string src) { if (src == null) return ""; StringBuilder result = new StringBuilder(); if (src != null) { src = src.Trim(); for (int pos = 0; pos < src.Length
-
C#实现过滤sql特殊字符的方法集合
本文实例讲述了C#实现过滤sql特殊字符的方法集合.分享给大家供大家参考,具体如下: 1. /// <summary> /// 过滤不安全的字符串 /// </summary> /// <param name="Str"></param> /// <returns></returns> public static string FilteSQLStr(string Str) { Str = Str.Replace(
-
c#中过滤html的正则表达式
实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name="NoHTML">包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htm
-
C#检测是否有危险字符的SQL字符串过滤方法
本文以一个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+
-
python生成随机数、随机字符、随机字符串的方法示例
本文是基于Windows 10系统环境,实现python生成随机数.随机字符.随机字符串: Windows 10 PyCharm 2018.3.5 for Windows (exe) python 3.6.8 Windows x86 executable installer (1) 生成随机数 随机整数 import random num = random.randint(1, 50) # 闭区间 print(num) 随机选取0到100间的偶数 import random num = rand
-
Python使用re模块验证危险字符
re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用.注意: re模块是python独有的 正则表达式所有编程语言都可以使用 re模块.正则表达式是对字符串进行操作 使用re模块,定义一个验证危险字符的模式字符串,验证两段文字,并输出验证结果: import re pattern = r'(黑客)|(抓包)|(监听)|(Trojan)' about = '我是一名程序员,我喜
-
C#过滤sql特殊字符串的方法
1.过滤不安全的字符串 /// <summary> /// 过滤不安全的字符串 /// </summary> /// <param name="Str"></param> /// <returns></returns> public static string FilteSQLStr(string Str) { Str = Str.Replace("'", ""); Str
-
javascript自动生成包含数字与字符的随机字符串
本文实例讲述了javascript自动生成包含数字与字符的随机字符串的方法.分享给大家供大家参考.具体如下: 这里主要用到Math.random() 和 Math.floor() 两个函数 Math.random() -- 返回0和1之间的伪随机数 可能为0,但总是小于1,[0,1) Math.floor() -- 向下取整,舍掉小数字后的值 实现随机多位数的方法: 复制代码 代码如下: /** * * 随机生成数字 * *@param num 生成数字位数 */ functi
-
asp 实现对SQL注入危险字符进行重编码处理的函数
<% '****************************** '函数:CheckStr(byVal ChkStr) '参数:ChkStr,待验证的字符 '作者:阿里西西 '日期:2007/7/15 '描述:对SQL注入危险字符进行重编码处理 '示例:CheckStr("and 1=1 or select * from") '****************************** Function CheckStr(byVal ChkStr) Dim Str:Str
-
php中url传递中文字符,特殊危险字符的解决方法
我们需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样, 对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlencode($text)一下: 但是对于一些很"危险"的字符,比如说html字符,甚至是SQL注入相关的字符,如果很明显的传给系统,出于安全考虑,系统一般都会把它们过滤掉的. 现在,我们需要这些危险字符,该这么办? 我想到的办法是 先给它们 base64_encode($text) 编码,到服务端时,又
-
分组字符合并SQL语句 按某字段合并字符串之一(简单合并)
标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按id字段合并value字段. id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id value ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) 1.sql2000中只能用自定义的函数解决 cr
-
asp检测是否为中文字符函数
<% '****************************** '函数:CheckChinese(strng) '参数:strng,待验证字符 '描述:检测是否为中文字符,返回值:中文为true,否则false '示例:<%=CheckChinese(strng)%> '****************************** Function CheckChinese(strng) CheckChinese = true Dim regEx, Match Set regEx
-
Python sql注入 过滤字符串的非法字符实例
我就废话不多说了,还是直接看代码吧! #coding:utf8 #在开发过程中,要对前端传过来的数据进行验证,防止sql注入攻击,其中的一个方案就是过滤用户传过来的非法的字符 def sql_filter(sql, max_length=20): dirty_stuff = ["\"", "\\", "/", "*", "'", "=", "-", &quo
随机推荐
- SQLServer与Access常用SQL函数区别
- JavaScript开发者必备的10个Sublime Text插件
- AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
- python直接访问私有属性的简单方法
- Python实现过滤单个Android程序日志脚本分享
- 移动端web滚动分页的实现方法
- ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤
- Android使用分类型RecyclerView仿各大商城首页
- ES6学习教程之对象的扩展详解
- web的各种前端打印方法之jquery打印插件jqprint实现网页打印
- 让你终生受益的三条忠告
- Python多线程下载文件的方法
- Python 内置函数memoryview(obj)的具体用法
- 详解C++中的内存同步模式(memory order)
- Java源码解析HashMap的tableSizeFor函数
- django项目简单调取百度翻译接口的方法
- PyQt5通信机制 信号与槽详解
- 详解C语言中的字符串数组
- Android实现滑动侧边栏
- 详解springboot中的jar包部署步骤