Global.asax.cs防注入问题
2010-05-14 16:26
309 查看
如果对参数没做处理,可以用下面的放在Global中防注入
protected void Application_BeginRequest(Object sender, EventArgs e)
{
//SQL防注入
string Sql_1 = "exec ¦insert+ ¦select+ ¦delete ¦update ¦count ¦chr ¦mid ¦master+ ¦truncate ¦char ¦declare ¦drop+ ¦drop+table ¦creat+ ¦creat+table";
string Sql_2 = "exec+ ¦insert+ ¦delete+ ¦update+ ¦count( ¦count+ ¦chr+ ¦+mid( ¦+mid+ ¦+master+ ¦truncate+ ¦char+ ¦+char( ¦declare+ ¦drop+ ¦creat+ ¦drop+table ¦creat+table";
string[] sql_c = Sql_1.Split('¦');
string[] sql_c1 = Sql_2.Split('¦');
if (Request.QueryString != null)
{
foreach (string sl in sql_c)
{
if (Request.QueryString.ToString().ToLower().IndexOf(sl.Trim()) >= 0)
{
Response.Write("警告!你的IP已经被记录!");//
Response.Write(sl);
Response.Write(Request.QueryString.ToString());
Response.End();
break;
}
}
}
if (Request.Form.Count > 0)
{
string s1 = Request.ServerVariables["SERVER_NAME"].Trim();//服务器名称
if (Request.ServerVariables["HTTP_REFERER"] != null)
{
string s2 = Request.ServerVariables["HTTP_REFERER"].Trim();//http接收的名称
string s3 = "";
if (s1.Length > (s2.Length - 7))
{
s3 = s2.Substring(7);
}
else
{
s3 = s2.Substring(7, s1.Length);
}
if (s3 != s1)
{
Response.Write("你的IP已被记录!警告!");//
Response.End();
}
}
}
}
protected void Application_BeginRequest(Object sender, EventArgs e)
{
//SQL防注入
string Sql_1 = "exec ¦insert+ ¦select+ ¦delete ¦update ¦count ¦chr ¦mid ¦master+ ¦truncate ¦char ¦declare ¦drop+ ¦drop+table ¦creat+ ¦creat+table";
string Sql_2 = "exec+ ¦insert+ ¦delete+ ¦update+ ¦count( ¦count+ ¦chr+ ¦+mid( ¦+mid+ ¦+master+ ¦truncate+ ¦char+ ¦+char( ¦declare+ ¦drop+ ¦creat+ ¦drop+table ¦creat+table";
string[] sql_c = Sql_1.Split('¦');
string[] sql_c1 = Sql_2.Split('¦');
if (Request.QueryString != null)
{
foreach (string sl in sql_c)
{
if (Request.QueryString.ToString().ToLower().IndexOf(sl.Trim()) >= 0)
{
Response.Write("警告!你的IP已经被记录!");//
Response.Write(sl);
Response.Write(Request.QueryString.ToString());
Response.End();
break;
}
}
}
if (Request.Form.Count > 0)
{
string s1 = Request.ServerVariables["SERVER_NAME"].Trim();//服务器名称
if (Request.ServerVariables["HTTP_REFERER"] != null)
{
string s2 = Request.ServerVariables["HTTP_REFERER"].Trim();//http接收的名称
string s3 = "";
if (s1.Length > (s2.Length - 7))
{
s3 = s2.Substring(7);
}
else
{
s3 = s2.Substring(7, s1.Length);
}
if (s3 != s1)
{
Response.Write("你的IP已被记录!警告!");//
Response.End();
}
}
}
}
相关文章推荐
- Global.asax.cs防注入问题
- vs2005中 Global.asax 没有 Global.asax.cs 问题解决
- vs2005中 Global.asax 没有 Global.asax.cs 问题解决
- vs2005中 Global.asax 没有 Global.asax.cs 问题解决
- vs2005中 Global.asax 没有 Global.asax.cs 问题解决
- Global.asax.cs中的方法的含义
- Where is the Global.asax.cs file
- Global.asax中向页面注入客户端script
- 实际遭遇并解决:类型“ASP.global_asax”同时存在的问题
- Global.asax.cs中的方法的含义 (转)
- ASP. NET 项目中的 【Global.asax】 的 【Application_End】方法 触发问题
- 使用Asp.Net Global.asax 文件;把代码写到.cs文件
- <%@ Application Codebehind="Global.asax.cs" Inherits="XXX.MvcApplication" Language="C#" %>
- 解决vs2005下Global.asax缺少cs文件的使用不便
- [ASP.NET 1.1]Global.asax.cs中的方法的含义
- Global.asax.cs中的方法的含义
- Global.asax.cs中取得页面执行时间的方法
- 解决 Global.asax的Application_Error中记录"文件不存在"的问题
- ASP.NET遇到问题---Global.asax
- 使用Asp.Net Global.asax 文件;把代码写到.cs文件