`

C# 检查字符串,防SQL注入攻击

    博客分类:
  • C#
阅读更多
例子里暂定为=号和'号
bool CheckParams(params object[] args)
{
    string[] Lawlesses={"=","'"};//在这里还可以写要过滤的字符串
    if(Lawlesses==null||Lawlesses.Length<=0)return true;
    //构造正则表达式,例:Lawlesses是=号和'号,则正则表达式为 .*[=}'].* (正则表达式相关内容请见MSDN)
    //另外,由于我是想做通用而且容易修改的函数,所以多了一步由字符数组到正则表达式,实际使用中,直接写正则表达式亦可;
    string str_Regex=".*[";
    for(int i=0;i< Lawlesses.Length-1;i++)
        str_Regex+=Lawlesses[i]+"|";
    str_Regex+=Lawlesses[Lawlesses.Length-1]+"].*";
    //
    foreach(object arg in args)
    {
        if(arg is string)//如果是字符串,直接检查
        {
            if(Regex.Matches(arg.ToString(),str_Regex).Count>0)
            return false;
        }
        else if(arg is ICollection)//如果是一个集合,则检查集合内元素是否字符串,是字符串,就进行检查
        {
            foreach(object obj in (ICollection)arg)
            {
                if(obj is string)
                {
                    if(Regex.Matches(obj.ToString(),str_Regex).Count>0)
                    return false;
                }
            }
        }
    }
    return true;

}

分享到:
评论

相关推荐

    C#防SQL注入

    SQL注入攻击的原理是通过在Web表单输入或通过URL查询字符串向应用程序提交恶意的SQL代码片段,以此来篡改应用程序的SQL语句,进而达到非法访问数据库的目的。为了有效地防止SQL注入,C#程序员需要从多个层面加强防范...

    C#高效连接sql数据库 防sql 注入

    本文将围绕“C#高效连接SQL数据库”这一主题展开讨论,并重点介绍如何通过合理的方式防止SQL注入攻击。 #### 二、高效连接SQL数据库 ##### 2.1 数据库连接对象创建 在C#中,我们通常使用`System.Data.SqlClient`...

    C#字符串检查

    ### C#字符串检查知识点 #### 1. 检查是否为IP地址 在C#中,检查一个字符串是否为有效的IP地址可以通过`System.Net.IPAddress`类来实现。示例代码如下: ```csharp public static bool IsIPStr(string in_str) { ...

    C#防SQL注入代码

    通过结合验证方法、利用Global.asax事件以及定义全局的输入处理函数,可以有效地增强C#应用程序的安全性,减少SQL注入攻击的风险。在实际开发中,应始终遵循最佳实践,如使用参数化查询,并结合适当的输入验证,以...

    SQL Server查询中的特殊字符处理(C#代码)

    2. **检查输入**:如果输入字符串非空且非null,则继续处理;否则,直接返回空字符串。 3. **遍历字符**:通过`ToCharArray()`方法将输入字符串转换为字符数组,然后遍历每个字符。 4. **字符处理**: - `[`:将...

    SQL注入攻击与防御(安全技术经典译丛)

    本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。  什么是SQL注入?理解它是什么以及它的基本原理  查找、确认和自动发现SQL注入  查找代码...

    ASP参数安全检查防SQL注入

    ### ASP参数安全检查防SQL注入 #### 知识点一:ASP参数安全检查的重要性 在Web应用程序开发过程中,确保用户输入的安全性至关重要。ASP(Active Server Pages)是一种服务器端脚本环境,它允许开发者创建动态网页...

    C#防SQL注入代码的三种方法

    - **使用防火墙和入侵检测系统**:在服务器级别阻止已知的SQL注入攻击。 总之,防止SQL注入是多层面的工作,需要结合代码实践、配置管理和系统防护等多个方面共同实现。通过上述C#方法,开发者可以有效地降低SQL...

    C#写的防止SQL注入式攻击的软件 可以作为课程设计

    - 是否有效地阻止了各种类型的SQL注入攻击。 - 用户界面的友好性和易用性。 - 代码的可读性和可维护性。 - 是否遵循了良好的编程和安全实践。 这个C#软件项目为学习和实践SQL注入防御提供了一个实际的平台,有...

    SQL注入攻击与防御

    本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。  什么是SQL注入?理解它是什么以及它的基本原理  查找、确认和自动发现SQL注入  查找代码...

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

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

    ASP.NET防止SQL注入函数

    SQL注入攻击是黑客常用的手段,通过输入含有恶意SQL命令的字符串,可能导致数据泄露、数据破坏甚至整个系统的瘫痪。下面我们将详细讨论如何在ASP.NET中使用C#编写函数来防范SQL注入。 首先,`SqlKey`类定义了两个...

    ASP.NET防SQL注入脚本程序

    这个"ASP.NET防SQL注入脚本程序"显然是为了帮助开发者防止这种攻击而设计的。 SQL注入是黑客利用输入字段向应用程序的SQL查询中插入恶意代码,从而控制或操纵数据库的一种手段。例如,如果一个登录页面没有正确验证...

    防止sql注入小方法

    这是因为数据库驱动器会自动对参数进行转义和类型检查,从而避免了SQL注入攻击。 #### 六、其他预防措施 除了使用SQL参数化查询外,还可以采取以下措施进一步提高安全性: 1. **输入验证**:对用户提交的所有数据...

    简单的asp.net登陆有一定的sql防注入功能

    标题提到的"简单的asp.net登陆有一定的sql防注入功能",意味着这个示例将展示一种基础的方法来防止SQL注入攻击。在ASP.NET中,通常我们会使用参数化查询或存储过程来避免这种情况,但在这个例子中,它可能通过一个...

    在ASP.net中如何预防SQL注入式攻击.pdf

    例如,文档中提供了一个名为ConvertSql的函数,该函数使用C#编写,能够对输入字符串中的特殊字符进行替换,以防范潜在的SQL注入攻击。 尽管用户输入过滤是一种有效的防范手段,但最佳的防护方法是使用参数化查询。...

    C#参数化查询,避免SQL注入

    为了解决这个问题,C#提供了一种有效的方法——参数化查询,这是一种安全且高效的方式来执行数据库操作,能有效地防止SQL注入攻击。 参数化查询的核心思想是将SQL语句和实际的值分离,通过占位符(如`?`或`@param`...

    ASP.Net防SQL注入的HttpMoudule

    在这个特定的情况下,我们讨论的是一个名为"ASP.Net防SQL注入的HttpMoudule"的实现,它专门设计来保护应用程序免受SQL注入攻击。 SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码到表单字段或其他...

    SQL Injection (SQL注入攻击)

    在这个毕业设计项目中,我们使用了VS2008作为开发环境,结合C#编程语言和SQL Server 2000数据库系统,构建了一个具有防范SQL注入攻击功能的应用。 首先,理解SQL注入攻击的原理至关重要。当用户输入的数据未经适当...

Global site tag (gtag.js) - Google Analytics