1. 程式人生 > >簡單的ASP.net防SQL注入

簡單的ASP.net防SQL注入

防sql注入是每個開發人員都要考濾的問題

asp.net有個Global.asax檔案,有一個Application_BeginRequest方法(應用啟動獲取)

就是當獲取到引數時觸發的事件;這裡就是網站頁面每次提交時都要經過的事件;在這裡做防注入就一下子卡住入口了

程式碼如下:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
//遍歷Post引數,隱藏域除外
foreach (string i in this.Request.Form)
{
//輸出
}
//遍歷Get引數。
foreach (string i in this.Request.QueryString)
{
//輸出
}
}
這樣就可以遍歷出頁面提交上來的所有的引數;裡面只寫了一個“//輸出”,沒有寫程式碼出來,大家可以寫repsonse.write輸出來看看,嘗試一下;我們只需對這些引數進行過濾,如果存在不安全字元,直接跳轉就走行了;
也可以加過濾  
public static string DelSQLStr(string str)
{
    if(str == null || str == "")
        return "";
    str = str.Replace(";","");
    str = str.Replace("'","");
    str= str.Replace("&","");
    str= str.Replace("%20","");
    str= str.Replace("--","");
    str= str.Replace("==","");
    str= str.Replace("<","");
    str= str.Replace(">","");
    str= str.Replace("%","");
    return str;
}

 

相關推薦

簡單ASP.netSQL注入

防sql注入是每個開發人員都要考濾的問題asp.net有個Global.asax檔案,有一個Application_BeginRequest方法(應用啟動獲取)就是當獲取到引數時觸發的事件;這裡就是網站頁面每次提交時都要經過的事件;在這裡做防注入就一下子卡住入口了程式碼如下:

ASP.netSQL注入(簡單)

一,驗證方法  /// <summary>  ///SQL注入過濾  /// </summary>  /// <param name="InText">要過濾的字串</param>  /// <returns>如果引數存在不安全字元,則返回true

ASP.NET】——SQL注入

    關於SQL注入,師父給驗收專案的時候就提過。但一直也沒深入去想是怎麼回事~~在學ASP.NET,做新聞釋出系統的時候,又遇到了,這次不能放過了~~ 定義     所謂SQL注入,就是通過把

.Netsql注入的方法總結

#防sql注入的常用方法: 1、服務端對前端傳過來的引數值進行型別驗證; 2、服務端執行sql,使用引數化傳值,而不要使用sql字串拼接; 3、服務端對前端傳過來的資料進行sql關鍵詞過來與檢測; #著重記錄下服務端進行sql關鍵詞檢測: 1、sql關鍵詞檢測類: 1 pub

ASP.NET 連線SQL Server 增刪改查簡單例項

本文主要講解連線ASP.NET 連線資料庫最簡單的方法和增刪改查的小例子,因為只涉及到一個頁面,所以沒有使用web.config,以及使用DBHelper,旨在讓讀者們拋開封裝好的東西,瞭解實際程式碼。   因為本例涉及到資料庫,所以在開始之前請先在資料庫裡新建一個名為“test”

好用的aspSQL注入程式碼

在連線資料庫的下方加入程式碼就可以防止sql注入了:<%dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|m

aspsql注入

以下為引用的內容:<% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '宣告變數和陣列'---定義部份 頭------ Fy_Cl = 1 '處理方式:1=提示資訊,2=轉向頁面,3=先提示再轉向 Fy_Zx = "index.Asp" '出錯時轉向的頁面

ASP SQL注入的兩種函式

Function SafeRequest(ParaName,ParaType) '--- 傳入引數 --- 'ParaName:引數名稱-字元型 'ParaType:引數型別-數字型(1表示以上引數是數字,0表示以上引數為字元) Dim ParaValue ParaValu

php對前臺提交的表單資料做安全處理(SQL注入和XSS攻擊等)

/** * 防sql注入字串轉義 * @param $content 要轉義內容 * @return array|string */ public static function escapeString($content) { $pa

php用於SQL注入的幾個函式

用於防SQL注入的幾個函式 不要相信使用者的在登陸中輸入的內容,需要對使用者的輸入進行處理 SQL注入: ' or 1=1 #   防止SQL注入的幾個函式:   addslashes($string):用反斜線引用字串中的特殊字元' " \ $u

MySQLSQL注入

1,mysql_real_escape_string()函式已經不安全,可以利用編碼的漏洞來實現輸入任意密碼就能登入伺服器的注入攻擊 2,使用擁有Prepared Statement機制的PDO和MYSQLi來代替mysql_query(注:mysql_query自 PHP 5.5.0 起已

ubuntu上安裝Apache2+ModSecurity及實現SQL注入演示

ubuntu上安裝Apache2+ModSecurity及實現防SQL注入演示 一、Apache2 的安裝 1.1、安裝環境: OS:Ubuntu 16.04.1 LTS Apache: Apache/2.4.18 (Ubuntu) 安裝命令: 更新安裝源:

回頭探索JDBC及PreparedStatementSQL注入原理

概述 JDBC在我們學習J2EE的時候已經接觸到了,但是僅是照搬步驟書寫,其中的PreparedStatement防sql注入原理也是一知半解,然後就想回頭查資料及敲測試程式碼探索一下。再有就是我們在專案中有一些配置項是有時候要變動的,比如資料庫的資料來源,為了在修改配置時不改動編譯的程式碼,我們把要變動的

Python 資料庫,操作mysql,sql注入,引數化

  demo.py(防sql注入): from pymysql import * def main(): find_name = input("請輸入物品名稱:") # 建立Connection連線 conn = connect(host='local

sql注入方法

一、什麼是sql注入 sql注入是比較常見的網路攻擊方式之一,它不是利用作業系統的bug進行攻擊,而是通過程式設計程式碼的疏漏,通過編寫特定的sql語句,進行資料庫的非法訪問。 二、 sql注入流程 尋找sql注入位置 判斷伺服器型別和後臺資料型別 針對不同的伺服器和資料庫特點

mybatissql注入

MyBatis如何防止SQL注入      SQL注入是一種程式碼注入技術,用於攻擊資料驅動的應用,惡意的SQL語句被插入到執行的實體欄位中(例如,為了轉儲資料庫內容給攻擊者)。[摘自] SQL injection - Wikipedia SQL注入,

ASP.NET連線SQL SERVER

Web.config <connectionStrings> <add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=asp-test;User

C# 使用引數化SQL語句(SQL注入攻擊)

“SQL注入攻擊”問題。我們在程式中存在著大量拼接產生SQL語句的程式碼,這就會導致一個比較大的安全隱患,容易遭受SQL注入攻擊。我們在程式碼中用的SQL語句是: string sqlStr = "select * from [Users] where User

[原始碼和文件分享]基於ASP.NETSQL SERVER實現的電信報表系統

1 需求分析 專案總體目標是搭建中國網通的報表系統管理平臺,不僅滿足目前的業務需要,還要滿足公司未來的發展,而且要具備良好的可擴充套件性,在網通與聯通合併之後依然能夠正常工作。 1.3 資料字典 手工錄入資料 = 出賬表 + 卡銷售表 + 網間結算表 + 預存轉入表 + 通知單表

[原始碼和文件分享]基於ASP.NETSQL SERVER資料庫的招聘網站設計與實現

摘 要 本課題是基於網際網路與資料庫技術的網上招聘網站,是先進的計算機科學技術和現代招聘理念相結合的產物,通過使用以ASP.NET技術為基礎,基本實現網上招聘網站的基本功能,滿足了求職者和招聘企業的需求,實現了招聘單位和求職者的雙向選擇,對於求職者檢視崗位和簡歷投遞進度有很大的幫助,本網站收集大