資料庫安全性操作 操作原則及SQL注入

2021-09-07 11:30:38 字數 1493 閱讀 3320

今天在進行支付寶開發時,看到支付寶開發文件《開放平台第三方應用安全開發指南》中關於資料庫操作的安全性。特此記錄!

(1)原則:使用者密碼儲存須加鹽儲存,各使用者鹽值不同。

(2)原則:若涉及證件號等敏感資訊的儲存,須使用aes-128演算法加密儲存。

(3)編寫的sql必須預編譯,不允許通過字串拼接的方式合成。

說明:1.部分特殊場景,必須通過拼接合成,則拼接的變數必須經過處理,只允許[a-za-z0-9_-.]+字元。

2.參考sql注入漏洞。

sql注入攻擊,被廣泛用於非法獲取**控制權,是發生在應用程式的資料庫層上的安全漏洞。在設計不良的程式當中,忽略了對輸入字串中夾帶的sql指令的檢查,你們這些夾帶進去的指令就會被資料庫誤認為是正常的sql指令而執行,從而使資料庫受到攻擊,可能導致資料被竊取、更改、刪除,以及進一步導致**被嵌入惡意**、被植入後門程式等危害。

(1)機密資料被竊取;

(2)核心業務資料被篡改;

(3)網頁被篡改;

(4)資料庫所在伺服器被攻擊變為傀儡主機,甚至企業網被入侵。

(1)所有的查詢語句都使用資料庫提供的引數化查詢介面,引數化的語句使用引數而不是將使用者輸入變數嵌入到sql語句中。

(2)對資料庫的特殊字串『「\<>&*;等進行轉義處理,或編碼轉換。

(3)確認每種資料的型別,比如數字型等資料就必須是數字,資料庫中的儲存字段必須對應為int型。

(4)資料長度應該嚴格規定,能在一定程度上防止比較長的sql注入語句無法正確執行。

(5)**每個資料層的編碼統一,建議全部使用utf-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。

(6)嚴格限制**所用資料庫賬號的許可權,給辭使用者僅提供能夠滿足其工作的許可權,從而最大限度的減少注入攻擊對資料庫的危害。

(7)避免**顯示sql錯誤資訊,比如型別錯誤、欄位不匹配等,防止攻擊者利用這些錯誤資訊進行一些判斷。

關係代數 關係操作 資料庫安全性 安全級別 SQL

其操作的物件和結果都是集合。插入刪除修改 基本運算 具體 存在關係r rr s ss,a aa為r rr的屬性組 b bb為s ss的屬性組 並 r s r cup s r s 差 r s r s r s 選擇 f r 投影 a r pi a r a r t a t a t a 即t tt中相應於a...

資料庫安全性

訪問控制 確保只授權給有資格的使用者訪問資料庫的許可權,令未授權的人員無法接近資料庫 訪問控制機制主要包括使用者許可權和合法許可權檢查 定義使用者許可權,並將使用者許可權登記到資料字典中 合法許可權檢查 每當使用者發出訪問資料庫的操作後,資料庫管理系統會查詢資料字典,對合法許可權檢查 定義使用者許可...

MYSQL資料庫基本操作操作

一 mysql伺服器的啟動與關閉 1 啟動mysql伺服器 開始 執行 輸入 cmd 然後在命令提示符下輸入 net start mysql 指令。2 連線mysql伺服器 輸入指令 mysql uroot h127.0.0.1 p111 h127.0.0.1看個人情況輸不輸 3 關閉mysql伺服...