程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL概述及在網絡安全的應用

SQL概述及在網絡安全的應用

編輯:關於SqlServer
1.網絡應用和SQL注射

  1.1概述

  有些網絡數據庫沒有過濾客戶提供的數據中可能有害的字符,SQL注射就是利用插入有害字符進行攻擊的技術。盡管非常容易防范,但因特網上仍然有驚人數量的存儲系統容易受到這種攻擊。這篇文章的目的是指導專業安全組織了解這種技術,並告訴他們正確的,用來防范SQL注射的辦法,以及處理各種常見的,由於非法輸入引起的問題.

  1.2背景

  在讀這篇文章之前,你應該對數據庫如何工作,以及SQL如何被用來訪問數據庫有一些基礎的了解。我建議您閱讀eXtropia.com的文章“Introduction to Databases for WebDevelopers”。

  (網址:http://www.extropia.com/tutorials/sql/toc.Html)

  1.3字符編碼

  在大多數的網絡浏覽器中,標點符號和許多其它符號在用於一個網絡請求前需要把URL編碼,以便被適當地編譯(interpret)。在本文中的例子和截圖中我使用了固定的ASCII字符以保證最大的可讀性。然而,在實際應用中,你需要在HTTP請求中用%25來代替百分號(%),用%2B來代替加號(+)等等。

  1.網絡應用和SQL注射

  1.1概述

  有些網絡數據庫沒有過濾客戶提供的數據中可能有害的字符,SQL注射就是利用插入有害字符進行攻擊的技術。盡管非常容易防范,但因特網上仍然有驚人數量的存儲系統容易受到這種攻擊。這篇文章的目的是指導專業安全組織了解這種技術,並告訴他們正確的,用來防范SQL注射的辦法,以及處理各種常見的,由於非法輸入引起的問題.

  1.2背景

  在讀這篇文章之前,你應該對數據庫如何工作,以及SQL如何被用來訪問數據庫有一些基礎的了解。我建議您閱讀eXtropia.com的文章“Introduction to Databases for WebDevelopers”。

  (網址:http://www.extropia.com/tutorials/sql/toc.Html)

  1.3字符編碼

  在大多數的網絡浏覽器中,標點符號和許多其它符號在用於一個網絡請求前需要把URL編碼,以便被適當地編譯(interpret)。在本文中的例子和截圖中我使用了固定的ASCII字符以保證最大的可讀性。然而,在實際應用中,你需要在HTTP請求中用%25來代替百分號(%),用%2B來代替加號(+)等等。。。

  1.網絡應用和SQL注射

  1.1概述

  有些網絡數據庫沒有過濾客戶提供的數據中可能有害的字符,SQL注射就是利用插入有害字符進行攻擊的技術。盡管非常容易防范,但因特網上仍然有驚人數量的存儲系統容易受到這種攻擊。這篇文章的目的是指導專業安全組織了解這種技術,並告訴他們正確的,用來防范SQL注射的辦法,以及處理各種常見的,由於非法輸入引起的問題.

  1.2背景

  在讀這篇文章之前,你應該對數據庫如何工作,以及SQL如何被用來訪問數據庫有一些基礎的了解。我建議您閱讀eXtropia.com的文章“Introduction to Databases for WebDevelopers”。

  (網址:http://www.extropia.com/tutorials/sql/toc.Html)

  1.3字符編碼

  在大多數的網絡浏覽器中,標點符號和許多其它符號在用於一個網絡請求前需要把URL編碼,以便被適當地編譯(interpret)。在本文中的例子和截圖中我使用了固定的ASCII字符以保證最大的可讀性。然而,在實際應用中,你需要在HTTP請求中用%25來代替百分號(%),用%2B來代替加號(+)等等。。。

  3.2.5 LIKE語句查詢

  另一個大的災難是陷入一個LIKE子句的陷阱.(Seeing the LIKE keyWord or percent signs cited in an error message are indications of this situation.)大多數的web搜索程序使用LIKE子句來查詢數據庫,比如下面這個:

  SQLString = "SELECT FirstName, LastName, Title FROM Employees WHERE LastName LIKE '%" & strLastNameSearch & "%'"

  這裡面的%是通配符,在這個例子裡,WHERE子句會返回TRUE,只要LASTNAME裡有字符串含有strLastNameSearch.為了阻止SQL Server返回預計中的記錄,你構造的SQL語句裡必須含有LASTNAME裡沒有的字符串.web搜索程序搜索的字符串來自於用戶的輸入.通常有一個'和一個%在輸入的字符串之前,因此我們構造字符串時,需要在WHERE子句中匹配它們.如果你提交了NULL作為搜索字符串,那麼LIKE的參數會變成"%%",這是一個全匹配,會返回所有的記錄.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved