亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net(C#)防sql注入組件的實現代碼

2024-07-10 13:18:25
字體:
來源:轉載
供稿:網友
服務器安全欄目里我寫過一篇《破解通用Sql防注入方法》的文章中說到,一些通用的防注入方法中沒有對cookie數據進行過濾,會給黑客留下可乘之機。當然我的這段代碼對提交過來的cookie數據也進行了過濾。
代碼:

復制代碼 代碼如下:


using System;
using System.Configuration;
using System.Web;
using System.Globalization;
namespace JNYW.StuM.SqlInject
{
public class SqlstrAny : IHttpModule
{
public void Init(HttpApplication application)
{
application.BeginRequest += (new
EventHandler(this.Application_BeginRequest));
}
private void Application_BeginRequest(Object source, EventArgs e)
{
ProcessRequest pr = new ProcessRequest();
pr.StartProcessRequest();
}
public void Dispose()
{
}
}
public class ProcessRequest
{
private static string SqlStr = System.Configuration.ConfigurationManager.AppSettings["SqlInject"].ToString();
private static string sqlErrorPage = System.Configuration.ConfigurationSettings.AppSettings["SQLInjectErrPage"].ToString();
///
/// 用來識別是否是流的方式傳輸
///
///
///
bool IsUploadRequest(HttpRequest request)
{
return StringStartsWithAnotherIgnoreCase(request.ContentType, "multipart/form-data");
}
///
/// 比較內容類型
///
///
///
///
private static bool StringStartsWithAnotherIgnoreCase(string s1, string s2)
{
return (string.Compare(s1, 0, s2, 0, s2.Length, true, CultureInfo.InvariantCulture) == 0);
}
//SQL注入式攻擊代碼分析
#region SQL注入式攻擊代碼分析
///
/// 處理用戶提交的請求
///
public void StartProcessRequest()
{
HttpRequest Request = System.Web.HttpContext.Current.Request;
HttpResponse Response = System.Web.HttpContext.Current.Response;
try
{
string getkeys = "";
if (IsUploadRequest(Request)) return; //如果是流傳遞就退出
//字符串參數
if (Request.QueryString != null)
{
for (int i = 0; i < Request.QueryString.Count; i++)
{
getkeys = Request.QueryString.Keys[i];
if (!ProcessSqlStr(Request.QueryString[getkeys]))
{
Response.Redirect(sqlErrorPage + "?errmsg=QueryString中含有非法字符串&sqlprocess=true");
Response.End();
}
}
}
//form參數
if (Request.Form != null)
{
for (int i = 0; i < Request.Form.Count; i++)
{
getkeys = Request.Form.Keys[i];
if (!ProcessSqlStr(Request.Form[getkeys]))
{
Response.Redirect(sqlErrorPage + "?errmsg=Form中含有非法字符串&sqlprocess=true");
Response.End();
}
}
}
//cookie參數
if (Request.Cookies != null)
{
for (int i = 0; i < Request.Cookies.Count; i++)
{
getkeys = Request.Cookies.Keys[i];
if (!ProcessSqlStr(Request.Cookies[getkeys].Value))
{
Response.Redirect(sqlErrorPage + "?errmsg=Cookie中含有非法字符串&sqlprocess=true");
Response.End();
}
}
}
}
catch
{
// 錯誤處理: 處理用戶提交信息!
Response.Clear();
Response.Write("CustomErrorPage配置錯誤");
Response.End();
}
}
///
/// 分析用戶請求是否正常
///
/// 傳入用戶提交數據
/// 返回是否含有SQL注入式攻擊代碼
private bool ProcessSqlStr(string Str)
{
bool ReturnValue = true;
try
{
if (Str != "")
{
string[] anySqlStr = SqlStr.Split('|');
foreach (string ss in anySqlStr)
{
if (Str.IndexOf(ss) >= 0)
{
ReturnValue = false;
break;
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
#endregion
}
}


在實際使用時,我們要在Web.config文件中的配置節中加上下面的代碼
以下是示例代碼:

復制代碼 代碼如下:


<!--防注入設置-->
<add value="and |exec |insert |select |delete |update |count | * |chr |mid |master |truncate |char |declare " key="SQLInject" />
<add value="ShowErr.aspx" key="SQLInjectErrPage" />


并且在Web.Config文件的<SYSTEM.WEB>中再加上下面的代碼。 以下是示例代碼:

復制代碼 代碼如下:


<!--防注入設置-->
<HTTPMODULES>
<aDD type="JNYW.StuM.SqlInject.SqlstrAny,SqlstrAny" />
</HTTPMODULES>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线日韩日本国产亚洲| 欧美日韩国产限制| 高清欧美性猛交xxxx黑人猛交| 久久久这里只有精品视频| 久久久91精品国产| 久久久久日韩精品久久久男男| 日韩在线观看视频免费| 日韩精品在线播放| 伊是香蕉大人久久| 日韩www在线| 亚洲欧美色图片| 欧美一区二区视频97| 亚洲欧美在线看| 91在线免费看网站| 中文字幕亚洲一区二区三区| 久久久久久中文字幕| 日韩欧美在线视频免费观看| 欧美综合一区第一页| 久久精品国产91精品亚洲| 海角国产乱辈乱精品视频| 久久国产精品久久精品| 久久夜色精品国产| 国产成人精品综合久久久| 欧美视频在线免费看| 亚洲精品国产精品自产a区红杏吧| 日韩性生活视频| 欧美精品制服第一页| 中文欧美日本在线资源| 欧美激情久久久| 成人av.网址在线网站| 亚洲欧美成人精品| 亚洲精品久久久久中文字幕欢迎你| 91久久久久久久久| 国产精品成人播放| 亚洲精品少妇网址| 超碰精品一区二区三区乱码| 麻豆一区二区在线观看| 欧美亚洲成人网| 日本韩国欧美精品大片卡二| 久久久www成人免费精品张筱雨| 国产精品高清在线观看| 欧美三级免费观看| 久久久久久久影院| 日韩亚洲第一页| 欧洲精品在线视频| 国产日本欧美一区二区三区在线| 一区二区三区视频免费在线观看| 欧美国产视频日韩| 久久精品国产欧美激情| 国产精品女人网站| 欧美专区在线视频| 久久成人人人人精品欧| 中文字幕日韩在线播放| 一本色道久久88亚洲综合88| 91精品在线观| 亚洲欧美日韩成人| 久久久999精品免费| 色婷婷**av毛片一区| 欧美性猛交xxxx偷拍洗澡| 欧美黑人性生活视频| 精品福利在线看| 亚洲国产精品va在线观看黑人| 久久精品国产99国产精品澳门| 日韩精品黄色网| 日韩网站免费观看| 色偷偷综合社区| 在线观看欧美成人| 国产精品美女久久| 色噜噜国产精品视频一区二区| 精品欧美一区二区三区| 久久久久久久久网站| 久久精品中文字幕电影| 美女少妇精品视频| 国产精品自在线| 91中文字幕一区| 一本大道亚洲视频| 亚洲18私人小影院| 国产在线拍偷自揄拍精品| 亚洲一级黄色片| 欧美乱大交做爰xxxⅹ性3| 91亚洲精品一区二区| 久久精品在线播放| 91精品国产乱码久久久久久久久| 亚洲欧洲中文天堂| 亚洲区中文字幕| 日产精品99久久久久久| 亚洲高清久久久久久| 精品欧美一区二区三区| 国产精品视频一区二区三区四| 欧美孕妇性xx| 高清亚洲成在人网站天堂| 国产精品久久久久久久久久三级| 国产免费一区二区三区在线观看| 久久久久久伊人| 国产精品视频地址| 国产成人精品电影| 韩日精品中文字幕| 美女撒尿一区二区三区| 精品国产999| 国产在线视频91| 亚洲最新av在线| 国产视频综合在线| 久久天天躁狠狠躁老女人| 久久久久国产精品免费网站| 日韩av综合中文字幕| 久久久久久综合网天天| 最近2019中文字幕大全第二页| 亚洲国产成人91精品| 国产不卡一区二区在线播放| 奇门遁甲1982国语版免费观看高清| 国产精品永久免费在线| 久久久之久亚州精品露出| 久久久999精品免费| 国产精品久久久久7777婷婷| 国产精品一区二区久久精品| 亚洲国产精品va在看黑人| 国产精品久久久久久五月尺| 日本精品视频在线| 欧美巨乳在线观看| 日韩av中文字幕在线免费观看| 91国产中文字幕| 亚洲热线99精品视频| 亚洲欧美日韩久久久久久| 亚洲新中文字幕| 黑人狂躁日本妞一区二区三区| 操日韩av在线电影| 欧美日韩亚洲国产一区| 久久国产精品久久精品| 国语自产精品视频在免费| 色综合久久中文字幕综合网小说| www.午夜精品| 久久人人爽亚洲精品天堂| 久久亚洲精品国产亚洲老地址| 国产精品黄色影片导航在线观看| 亚洲电影免费观看高清| 欧美午夜丰满在线18影院| 欧美激情中文字幕在线| 亚洲高清色综合| 日韩av电影院| 九九热精品视频在线播放| 国产成人精彩在线视频九色| 国产美女高潮久久白浆| 欧美成人免费全部观看天天性色| 久久久亚洲福利精品午夜| 成人免费视频a| 欧洲永久精品大片ww免费漫画| 亚洲成年人在线| 国产在线日韩在线| 日韩美女av在线| 成人国产精品色哟哟| 亚洲国语精品自产拍在线观看| 国产精品久久久一区| 亚洲视频在线观看视频| 精品久久久久久中文字幕| www.久久草.com| 国产精品久久久久999| 亚洲qvod图片区电影| 日本久久久久久| 欧美极品欧美精品欧美视频| 57pao国产精品一区| 国产精品久久77777| 在线色欧美三级视频| 欧美电影《睫毛膏》| 日韩av在线电影网|