http://www.microsoft.com/taiwan/sql/SQL_Injection.htm
1. 加強程式上的安全檢查措施:在程式中加上輸入資料型態檢查、資料長度檢查與資料內容檢查,讓駭客無法利用隱藏於輸入資料的特殊指令或程式碼有機可乘。
2. 妥善使用權限管理:在程式中勿用較高權限來存取資料庫,比如說讓SQL程式使用資料庫管理員(System Administrator, SA)身份來存取資料庫。此外,若使用Windows 2000作業系統搭配SQL Server則建議使用Windows 2000認證機制。
3. 保持良好的程式開發習慣:撰寫資料庫存取或查詢程式時,利用兩個單引號『’’』來標註任何輸入的變數給SQL程式;利用單引號『’』會讓駭客的隱碼易於得逞。
4. 將核心程式碼隱藏起來:勿讓網頁上程式直接存取或查詢資料庫,而是透過預存程式(Stored-procedure)來執行,而XML Web Service也是另一個提高安全性的好方法,保護核心程式邏輯與資料庫結構不至外洩,而Microsoft SQL Server 2000是目前唯一支援XML Web Service的資料庫管理系統。
5. 以標準的訊息回覆給客戶:電子商務網站對於任何回覆給客戶的訊息應有所規範,透過程式攔截下任何作業系統或資料庫管理系統所可能產生的錯誤訊息,改以統一且明確的訊息來指導客戶。
6. 刪除多餘的資料表(Table):資料庫管理系統安裝後會有幾個既存的資料表,這些資料表是供程式開發、範例資料庫或暫存使用,如”pub”及” Northwind”等,請在電子商務網站上線後移除;因為這些公用的資料表架構是公開的,易為駭客所利用。
沒有留言:
張貼留言