自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

總結ADO.NET安全數(shù)據(jù)訪問技巧

開發(fā) 后端
這里總結了ADO.NET安全數(shù)據(jù)訪問身份驗證、授權和權限、參數(shù)化命令和 SQL 注入、與非托管代碼交互等等幾個方面。

我們在一個項目中首要考慮的就安全的問題,這里就我在項目中總結的一點ADO.NET安全數(shù)據(jù)訪問方面的知識做一個詳細的介紹。編寫安全的 ADO.NET 代碼,必須了解基礎數(shù)據(jù)存儲(即數(shù)據(jù)庫)中提供的安全機制。您還需要考慮應用程序可能包含的其他功能或組件對安全性的影響。

1.身份驗證、授權和權限

連接到 Microsoft SQL Server 后,您便可以使用 Windows 身份驗證(也稱為集成安全),它使用當前活動 Windows 用戶的標識,而不是傳遞用戶 ID 和密碼。由于不會在連接字符串中公開用戶憑據(jù),因此強烈建議使用 Windows 身份驗證。如果無法使用 Windows 身份驗證連接到 SQL Server,請考慮使用 SqlConnectionStringBuilder 在運行時創(chuàng)建連接字符串。

#T#用于身份驗證的憑據(jù)需要根據(jù)應用程序的類型進行不同地處理。例如,在 Windows 窗體應用程序中,可以提示用戶提供身份驗證信息,也可以使用用戶的 Windows 憑據(jù)。但是,Web 應用程序通常使用應用程序自身提供的憑據(jù)來訪問數(shù)據(jù),而不是使用用戶提供的憑據(jù)。用戶經(jīng)過身份驗證后,其操作范圍取決于向他們授予的權限。始終遵循最小特權原則,并且僅授予絕對必需的權限。

2.參數(shù)化命令和 SQL 注入

使用參數(shù)化命令可幫助抵御 SQL 注入攻擊,這種攻擊的攻擊者會將命令“注入”SQL 語句,從而危及服務器的安全。通過確保將從外部源接收的值僅作為值(而不是作為 Transact-SQL 語句的一部分)進行傳遞,參數(shù)化命令可抵御 SQL 注入攻擊。這樣,便不會在數(shù)據(jù)源中執(zhí)行插入到值中的 Transact-SQL 命令。相反,只會將這些命令作為參數(shù)值來計算。除具備安全優(yōu)勢外,參數(shù)化命令還提供一種便捷方法,使用該方法可組織隨 Transact-SQL 語句傳遞或傳遞到存儲過程的值。

3.ADO.NET安全數(shù)據(jù)訪問對腳本攻擊

腳本攻擊是另一種形式的注入,它使用插入到網(wǎng)頁中的惡意字符。瀏覽器無法驗證這些插入字符,并且會將它們作為頁面的一部分進行處理。

4.保護 Microsoft Access 和 Excel 數(shù)據(jù)源

當具有最少的安全要求或沒有安全要求時,Microsoft Access 和 Microsoft Excel 可充當 ADO.NET 應用程序的數(shù)據(jù)存儲區(qū)。其安全功能作為一種阻止手段固然有效,但其作用僅限于阻止不了解情況的用戶亂摸亂動而已。Access 和 Excel 的物理數(shù)據(jù)文件位于文件系統(tǒng)上,并且注定可供所有用戶訪問。這使得這些文件易受到攻擊,從而導致文件失竊或數(shù)據(jù)丟失,因為他人可輕松復制或更改這些文件。如果需要強有力的安全措施,請使用 SQL Server 或其他基于服務器的數(shù)據(jù)庫,這樣便無法從文件系統(tǒng)讀取物理數(shù)據(jù)文件。

5.ADO.NET安全數(shù)據(jù)訪問企業(yè)服務

COM+ 包含其自己的安全模型,該模型依賴于 Windows NT 帳戶和進程/線程模擬。System.EnterpriseServices 命名空間提供的包裝允許 .NET 應用程序通過 ServicedComponent 類來集成托管代碼與 COM+ 安全服務。

6.與非托管代碼交互

.NET Framework 提供與非托管代碼(包括 COM 組件、COM+ 服務、外部類型庫及許多操作系統(tǒng)服務)的交互。使用非托管代碼時會超出托管代碼的安全邊界。您的代碼和調用它的任何代碼都必須具有非托管代碼權限(指定了 UnmanagedCode 標志的 SecurityPermission)。非托管代碼會無意中將安全漏洞引入您的應用程序中。因此,除非絕對必要,否則應避免與非托管代碼進行交互。

責任編輯:田樹 來源: 博客
相關推薦

2009-11-04 16:55:16

ADO.NET Dat

2009-10-29 11:08:20

ADO.NET Dat

2009-11-11 13:59:15

ADO.NET與ADO

2009-12-23 17:54:01

ADO.NET 2.0

2009-11-04 17:22:30

ADO.NET數(shù)據(jù)訪問

2009-11-03 17:25:59

ADO.NET編程技巧

2009-10-29 13:34:01

ADO.NET對象

2009-11-11 14:27:32

ADO.NET函數(shù)

2009-11-12 15:38:18

ADO.NET數(shù)據(jù)平臺

2009-10-29 10:44:18

ADO.NET Dat

2009-12-21 16:53:06

ADO.NET使用說明

2009-12-31 09:54:04

ADO.NET數(shù)據(jù)訪問

2009-11-12 15:00:03

ADO.NET實體數(shù)據(jù)

2009-12-21 13:19:34

ADO.NET組件

2009-12-22 16:35:11

ADO.NET控件

2009-10-29 10:34:31

ADO.NET使用技巧

2009-12-22 09:50:23

ADO.NET學習

2010-05-24 09:49:47

ADO.NET

2009-12-21 15:58:19

ADO.NET集合

2009-12-23 15:53:36

ADO.NET訪問數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號