亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Aspx/Asp.net 防注入程序 V1.0

 更新時間:2009年10月03日 01:51:33   作者:  
asp下有人寫了防注入的程序,這次看到了一個asp.net的特提供給大家參考。
雖然說ASP.NET屬于安全性高的腳本語言,但是也經(jīng)常看到ASP.NET網(wǎng)站由于過濾不嚴造成注射.由于ASP.NET基本上配合MMSQL數(shù)據(jù)庫架設 如果權限過大的話很容易被攻擊. 再者在網(wǎng)絡上找不到好的ASP.NET防注射腳本,所以就自己寫了個. 在這里共享出來旨在讓程序員免除SQL注入的困擾.
我寫了兩個版本,VB.NET和C#版本方便不同程序間使用.
描述:
1. XP + IIS5.1 + Access + MSSQL2000 下測試通過。
2. 由于考慮到ASPX大多數(shù)和MSSQL數(shù)據(jù)庫配合使用,在此增加了MSSQL關鍵字。
3. 放到數(shù)據(jù)庫連接代碼處即可,和ASP用法類似。
復制代碼 代碼如下:

public void JK1986_CheckSql()
{
string jk1986_sql = "exec夢select夢drop夢alter夢exists夢union夢and夢or夢xor夢order夢mid夢asc夢execute夢xp_cmdshell夢insert夢update夢delete夢join夢declare夢char夢sp_oacreate夢wscript.shell夢xp_regwrite夢'夢;夢--夢%";
string[] jk_sql = jk1986_sql.Split('夢');
foreach (string jk in jk_sql)
{
// -----------------------防 Post 注入-----------------------
if (Page.Request.Form != null)
{
for (int k = 0; k < Page.Request.Form.Count; k++)
{
string getsqlkey = Page.Request.Form.Keys[k];
string getip;
if (Page.Request.Form[getsqlkey].ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式:P O S T " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.Form[getsqlkey].ToLower() + "<br>");
Response.End();
}
}
}
// -----------------------防 GET 注入-----------------------
if (Page.Request.QueryString != null)
{
for (int k = 0; k < Page.Request.QueryString.Count; k++)
{
string getsqlkey = Page.Request.QueryString.Keys[k];
string getip;
if (Page.Request.QueryString[getsqlkey].ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長安全網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式:G E T " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.QueryString[getsqlkey].ToLower() + "<br>");
Response.End();
}
}
}
// -----------------------防 Cookies 注入-----------------------
if (Page.Request.Cookies != null)
{
for (int k = 0; k < Page.Request.Cookies.Count; k++)
{
string getsqlkey = Page.Request.Cookies.Keys[k];
string getip;
if (Page.Request.Cookies[getsqlkey].Value.ToLower().Contains(jk) == true)
{
Response.Write("<script Language=JavaScript>alert('ASP.NET( C#版本 )站長安全網(wǎng)提示您,請勿提交非法字符!↓\\n\\nBloghttp://www.safe5.com [url=file://\\n\\nBy]\\n\\nBy[/url]:Jack');</" + "script>");
Response.Write("非法操作!系統(tǒng)做了如下記錄 ↓" + "<br>");
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null )
{
getip = this.Page.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
getip = Page.Request.ServerVariables["REMOTE_ADDR"];
}
Response.Write("操 作 I P :" + getip + "<br>");
Response.Write("操 作 時 間:" + DateTime.Now.ToString() + "<br>");
Response.Write("操 作 頁 面:" + Page.Request.ServerVariables["URL"] + "<br>");
Response.Write("提 交 方 式: Cookies " + "<br>");
Response.Write("提 交 參 數(shù):" + jk + "<br>");
Response.Write("提 交 數(shù) 據(jù):" + Page.Request.Cookies[getsqlkey].Value.ToLower() + "<br>");
Response.End();
}
}
}
}
}

相關文章

  • MVC5 + EF6 + Bootstrap3 (11) 實現(xiàn)排序、搜索、分頁

    MVC5 + EF6 + Bootstrap3 (11) 實現(xiàn)排序、搜索、分頁

    本篇文章主要介紹了MVC5 + EF6 + Bootstrap3 (11) 實現(xiàn)排序、搜索、分頁,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考
    2016-12-12
  • WeakReference(弱引用)讓GC需要時回收對象

    WeakReference(弱引用)讓GC需要時回收對象

    我們平常用的都是對象的強引用,如果有強引用存在,GC是不會回收對象的,我們能不能同時保持對對象的引用,而又可以讓GC需要的時候回收這個對象呢?本文將為您詳細解答,需要了解的朋友可以參考下
    2012-12-12
  • 擴展方法ToJSON() and ParseJSON()

    擴展方法ToJSON() and ParseJSON()

    AJAX編程經(jīng)常需要Object<=>JSON之間轉換,寫了二個擴展方法: public static string ToJSON(this object obj) public static T ParseJSON<T>(this string str)
    2008-03-03
  • ASP.NET中IsPostBack用法詳解

    ASP.NET中IsPostBack用法詳解

    這篇文章主要介紹了ASP.NET中IsPostBack用法,有助于讀者進一步理解IsPostBack用法并加以靈活應用,需要的朋友可以參考下
    2014-07-07
  • C# 定義常量 兩種實現(xiàn)方法

    C# 定義常量 兩種實現(xiàn)方法

    在C#中定義常量的方式有兩種,一種叫做靜態(tài)常量(Compile-time constant),另一種叫做動態(tài)常量(Runtime constant)
    2012-11-11
  • Discuz!NT數(shù)據(jù)庫讀寫分離方案詳解

    Discuz!NT數(shù)據(jù)庫讀寫分離方案詳解

    Discuz!NT這個產(chǎn)品在其企業(yè)版中提供了對‘讀寫分離’機制的支持,使對CPU及內存消耗嚴重的操作(CUD)被 分離到一臺或幾臺性能很高的機器上,而將頻繁讀取的操作(select)放到幾臺配置較低的機器上,然后通過‘事務 發(fā)布訂閱機制’,實現(xiàn)了在多個sqlserver數(shù)據(jù)庫之間快速高效同步數(shù)據(jù),從而達到了將‘讀寫請求’按實際負載 情況進行均衡分布的效果。
    2010-06-06
  • ajaxToolkit:CalendarExtender演示與實現(xiàn)代碼

    ajaxToolkit:CalendarExtender演示與實現(xiàn)代碼

    Ajax的CalenderExtender的日期選擇實現(xiàn)介紹,感興趣的你可以了解下,就當是鞏固知識,希望本文對你有所幫助
    2013-01-01
  • ASP.NET動態(tài)添加控件一例

    ASP.NET動態(tài)添加控件一例

    本例需求來自CSDN論壇,有人問:3個DropDownList和1個按鈕,每次單擊按鈕動態(tài)創(chuàng)建3個Label控件并從DropDownList獲得值,然后添加到頁面
    2012-01-01
  • ASP.NET將文件寫到另一服務器(圖文教程)及注意事項

    ASP.NET將文件寫到另一服務器(圖文教程)及注意事項

    有時我們需要將來自于客戶端的文件上傳到WEB服務器端,并在服務端將文件存儲到第三方文件服務器中存儲,既然有需求,那就有實現(xiàn)了,感興趣的你可以了解此文,或許對你學習asp.net 起到很好的作用哦
    2013-01-01
  • .net core 6.0 通過依賴注入注冊和使用上下文服務的教程

    .net core 6.0 通過依賴注入注冊和使用上下文服務的教程

    在.NET Core 6.0 中,獲取上下文的方式取決于您使用的技術棧和具體的應用程序類型,這篇文章主要介紹了.net core 6.0 通過依賴注入注冊和使用上下文服務的教程,需要的朋友可以參考下
    2023-12-12

最新評論