例子里暂定为=号和'号
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;
}
分享到:
相关推荐
SQL注入攻击的原理是通过在Web表单输入或通过URL查询字符串向应用程序提交恶意的SQL代码片段,以此来篡改应用程序的SQL语句,进而达到非法访问数据库的目的。为了有效地防止SQL注入,C#程序员需要从多个层面加强防范...
本文将围绕“C#高效连接SQL数据库”这一主题展开讨论,并重点介绍如何通过合理的方式防止SQL注入攻击。 #### 二、高效连接SQL数据库 ##### 2.1 数据库连接对象创建 在C#中,我们通常使用`System.Data.SqlClient`...
### C#字符串检查知识点 #### 1. 检查是否为IP地址 在C#中,检查一个字符串是否为有效的IP地址可以通过`System.Net.IPAddress`类来实现。示例代码如下: ```csharp public static bool IsIPStr(string in_str) { ...
通过结合验证方法、利用Global.asax事件以及定义全局的输入处理函数,可以有效地增强C#应用程序的安全性,减少SQL注入攻击的风险。在实际开发中,应始终遵循最佳实践,如使用参数化查询,并结合适当的输入验证,以...
2. **检查输入**:如果输入字符串非空且非null,则继续处理;否则,直接返回空字符串。 3. **遍历字符**:通过`ToCharArray()`方法将输入字符串转换为字符数组,然后遍历每个字符。 4. **字符处理**: - `[`:将...
本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。 什么是SQL注入?理解它是什么以及它的基本原理 查找、确认和自动发现SQL注入 查找代码...
### ASP参数安全检查防SQL注入 #### 知识点一:ASP参数安全检查的重要性 在Web应用程序开发过程中,确保用户输入的安全性至关重要。ASP(Active Server Pages)是一种服务器端脚本环境,它允许开发者创建动态网页...
- **使用防火墙和入侵检测系统**:在服务器级别阻止已知的SQL注入攻击。 总之,防止SQL注入是多层面的工作,需要结合代码实践、配置管理和系统防护等多个方面共同实现。通过上述C#方法,开发者可以有效地降低SQL...
- 是否有效地阻止了各种类型的SQL注入攻击。 - 用户界面的友好性和易用性。 - 代码的可读性和可维护性。 - 是否遵循了良好的编程和安全实践。 这个C#软件项目为学习和实践SQL注入防御提供了一个实际的平台,有...
本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。 什么是SQL注入?理解它是什么以及它的基本原理 查找、确认和自动发现SQL注入 查找代码...
本文以一个C#的SQL数据库字串操作函数为例,说明如何实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入等功能。具体实现代码如下: SQL字符串过滤函数: public static bool ...
SQL注入攻击是黑客常用的手段,通过输入含有恶意SQL命令的字符串,可能导致数据泄露、数据破坏甚至整个系统的瘫痪。下面我们将详细讨论如何在ASP.NET中使用C#编写函数来防范SQL注入。 首先,`SqlKey`类定义了两个...
这个"ASP.NET防SQL注入脚本程序"显然是为了帮助开发者防止这种攻击而设计的。 SQL注入是黑客利用输入字段向应用程序的SQL查询中插入恶意代码,从而控制或操纵数据库的一种手段。例如,如果一个登录页面没有正确验证...
这是因为数据库驱动器会自动对参数进行转义和类型检查,从而避免了SQL注入攻击。 #### 六、其他预防措施 除了使用SQL参数化查询外,还可以采取以下措施进一步提高安全性: 1. **输入验证**:对用户提交的所有数据...
标题提到的"简单的asp.net登陆有一定的sql防注入功能",意味着这个示例将展示一种基础的方法来防止SQL注入攻击。在ASP.NET中,通常我们会使用参数化查询或存储过程来避免这种情况,但在这个例子中,它可能通过一个...
例如,文档中提供了一个名为ConvertSql的函数,该函数使用C#编写,能够对输入字符串中的特殊字符进行替换,以防范潜在的SQL注入攻击。 尽管用户输入过滤是一种有效的防范手段,但最佳的防护方法是使用参数化查询。...
为了解决这个问题,C#提供了一种有效的方法——参数化查询,这是一种安全且高效的方式来执行数据库操作,能有效地防止SQL注入攻击。 参数化查询的核心思想是将SQL语句和实际的值分离,通过占位符(如`?`或`@param`...
在这个特定的情况下,我们讨论的是一个名为"ASP.Net防SQL注入的HttpMoudule"的实现,它专门设计来保护应用程序免受SQL注入攻击。 SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码到表单字段或其他...
在这个毕业设计项目中,我们使用了VS2008作为开发环境,结合C#编程语言和SQL Server 2000数据库系统,构建了一个具有防范SQL注入攻击功能的应用。 首先,理解SQL注入攻击的原理至关重要。当用户输入的数据未经适当...