在Global.asax中加入以下语句就可以了
void Application_BeginRequest(Object sender, EventArgs e)
{
StartProcessRequest();
}
#region SQL注入式攻击代码分析
/// <summary>
/// 处理用户提交的请求
/// </summary>
private void StartProcessRequest()
{
try
{
string getkeys = "";
string sqlErrorPage = "~/default.aspx";//转向的错误提示页面
if (System.Web.HttpContext.Current.Request.QueryString != null)
{
for (int i = 0; i < System.Web.HttpContext.Current.Request.QueryString.Count; i++)
{
getkeys = System.Web.HttpContext.Current.Request.QueryString.Keys;
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.QueryString[getkeys]))
{
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
System.Web.HttpContext.Current.Response.End();
}
}
}
if (System.Web.HttpContext.Current.Request.Form != null)
{
for (int i = 0; i < System.Web.HttpContext.Current.Request.Form.Count; i++)
{
getkeys = System.Web.HttpContext.Current.Request.Form.Keys;
if (getkeys == "__VIEWSTATE") continue;
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.Form[getkeys]))
{
System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
System.Web.HttpContext.Current.Response.End();
}
}
}
}
catch
{
// 错误处理: 处理用户提交信息!
}
}
/// <summary>
/// 分析用户请求是否正常
/// </summary>
/// <param name="Str">传入用户提交数据 </param>
/// <returns>返回是否含有SQL注入式攻击代码 </returns>
private bool ProcessSqlStr(string Str)
{
bool ReturnValue = true;
try
{
if (Str.Trim() != "")
{
string SqlStr = "and ¦exec ¦insert ¦select ¦delete ¦update ¦count ¦* ¦chr ¦mid ¦master ¦truncate ¦char ¦declare¦drop";
string[] anySqlStr = SqlStr.Split('¦');
foreach (string ss in anySqlStr)
{
if (Str.ToLower().IndexOf(ss) >= 0)
{
ReturnValue = false;
break;
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
#endregion
http://www.zgkw.cn/forums/forums/thread/73963.aspx
分享到:
相关推荐
SQL注入是一种常见的网络安全攻击手段,攻击者通过输入恶意的SQL代码,试图获取、修改或删除数据库中的敏感信息。在ASP.NET中,如果不进行适当的参数化查询或预编译语句,就容易遭受这种攻击。 这个程序的核心原理...
在ASP.NET开发环境中,防范SQL注入式攻击是确保应用程序安全的关键步骤之一。SQL注入是一种常见的攻击方式,通过将恶意SQL代码插入到查询语句中,攻击者可以绕过身份验证,篡改数据,甚至完全控制数据库。为了保护...
本文主要针对目前ASP.NET 网站安全面临的SQL注入攻击来进行分析研究,并从客户端和服务器端两个方面来研究如何防范SQL注入攻击。
详细的介绍了防止sql注入攻击,内附asp.net 源码和vb.net源码。是初学者不错的选择。希望能够帮助到你。
在现代网络技术迅速发展的今天,网络安全问题愈发受到重视,其中SQL注入攻击是一种非常严重的安全威胁,尤其对于使用ASP.NET技术构建的应用程序。SQL注入允许攻击者通过输入恶意构造的SQL代码片段,使得应用程序执行...
针对这一问题,《史上最全的.NET防止SQL注入攻击的替换文本》提供了一系列策略和方法,尤其聚焦于如何在.NET框架下通过字符串处理来防御SQL注入。 ### SQL注入攻击原理 SQL注入攻击主要是利用应用程序对用户输入...
标题提到的"简单的asp.net登陆有一定的sql防注入功能",意味着这个示例将展示一种基础的方法来防止SQL注入攻击。在ASP.NET中,通常我们会使用参数化查询或存储过程来避免这种情况,但在这个例子中,它可能通过一个...
好在要防止ASP.NET应用被SQL注入式攻击闯入并不是一件特别困难的事情,只要在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。 ⑴ 对于动态构造SQL查询...
ASP.NET(C#)防SQL注入脚本程序v2.0是一个重要的安全工具,用于保护Web应用程序免受SQL注入攻击。SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码来操纵数据库,可能导致数据泄露、系统瘫痪甚至完全...
针对在ASP.NET下数据库的安全性,介绍了SQL注入攻击的概念,详细分析了几种攻击方式,并提出一些防范SQL注入攻击的措施,极大地减少SQL注入攻击的可能性,尽可能保证数据库安全,最后通过项目实例说明如何运用ASP...
"Asp.Net通用Sql防注入源码"是针对这个问题提供的一种解决方案,旨在帮助Asp.Net程序员更好地保护他们的应用程序免受SQL注入攻击。 SQL注入攻击通常发生在应用程序没有正确验证或清理用户输入时。例如,当用户在...
本文档介绍了一组 ASP.NET 中用于预防 SQL 注入攻击的过滤函数,并提供了一个简单的示例。 #### 关键知识点解析 ##### 1. **SqlFilter2 函数** 这是一个典型的 SQL 注入过滤函数,用于检测传入字符串是否包含可能...
ASP.NET防止SQL注入函数是开发安全Web应用程序的关键措施...总之,ASP.NET防止SQL注入函数是确保Web应用程序安全性的重要一环,通过编写和使用这样的函数,我们可以显著降低SQL注入攻击的风险,保障系统和数据的安全。
ASP.NET (VB.NET) 防SQL注入脚本程序是一个重要的安全工具,旨在保护Web应用程序免受SQL注入攻击。SQL注入是一种常见的网络安全威胁,黑客通过输入恶意SQL代码来操纵数据库,获取敏感信息或破坏系统。在ASP.NET (VB...
随着互联网的普及,Web 应用程序变得越来越普遍,而 ASP.NET 作为一个流行的 Web 开发框架,也因此而面临着各种安全威胁,其中最常见的便是 SQL 注入攻击。SQL 注入攻击是一种常见的 Web 应用程序安全漏洞,它是指...
SQL注入是一种攻击方式,攻击者通过在输入字段中插入恶意的SQL代码,试图操纵或获取数据库中的敏感信息。在ASP.NET和C#环境中,如果你的代码没有正确地处理用户输入,就可能导致SQL注入。例如,如果你直接将用户输入...
asp.net简单防范sql注入漏洞 防止 sql注入攻击 1 限制 文本框的最大长度 2 删除用户的单引号 3 处理sql注入的另外一个方法是 使用ado.net command对象的参数集合。 而不是评接多个字符串
在本项目中,".NET6WebAPI使用Sqlserver+JWT增删改查"是一个基于最新.NET框架.NET6构建的Web应用程序示例,主要用于演示如何利用ASP.NET Core Web API与SQL Server数据库进行数据操作,以及结合JWT(JSON Web Tokens...
在本文中,我们将深入探讨如何在ASP.NET中防止SQL注入攻击,这是一个重要的安全问题,对任何处理数据库交互的应用来说都是至关重要的。 SQL注入是黑客利用不安全的代码向数据库发送恶意SQL语句,从而获取、修改、...
本文将详细介绍一种在.NET框架下实现的SQL注入防护机制,并通过一个具体的代码示例进行说明。 #### 二、SQL注入原理 SQL注入攻击主要利用了应用程序对用户输入的数据缺乏有效的验证与过滤这一漏洞。攻击者可以通过...