javascript - 如何保證數(shù)據(jù)庫里的信息安全?
問題描述
沒接觸過網(wǎng)絡(luò)安全,請教各位大佬,把用戶信息放到數(shù)據(jù)庫后怎么保證安全?
問題解答
回答1:題主你這個問題問得好大... 從以下幾個方面著手吧:
數(shù)據(jù)庫權(quán)限:連數(shù)據(jù)庫不要老用root,給web應(yīng)用單獨開帳號,最小化權(quán)限
數(shù)據(jù)庫密碼:不要弱密碼,盡量搞個隨機(jī)生成的16位以上的密碼
web服務(wù)器:同數(shù)據(jù)庫,密碼盡量復(fù)雜化,盡量不要直接用root帳號,單獨開帳號,只有在必須需要的時候才用root
web應(yīng)用:
盡量選一個好點的DB庫或ORM庫,使用參數(shù)化的SQL查詢,不要直接把參數(shù)拼在SQL里面,防止SQL注入
用戶(包括后臺管理用戶)的密碼信息不要直接存儲,應(yīng)加鹽hash后再存儲
如果可以,盡量使用HTTPS
渲染HTML的時候,盡量使用編碼后再輸出,防止XSS
非得輸出一段用戶控制的富文本HTML的時候,使用htmlpurifier這樣的過濾器,防止XSS
遵循HTTP動詞語義,增刪改類操作使用POST/DELETE/PUT,并增加csrf_token,防止CSRF攻擊
暫時想到這么多,web安全還有很多要注意的點,建議LZ直接請個安全顧問吧。
回答2:首先,你的前端以及后端代碼要保證其安全性,不能出現(xiàn)XXS或者SQL注入等攻擊漏洞,再者就是數(shù)據(jù)庫服務(wù)器與Web服務(wù)器進(jìn)行分離,這樣即可以提高一部分的安全性能也可以使網(wǎng)站提升效率。另外用戶信息中的密碼最好全部通過特定的加密方式進(jìn)行加密處理之后再存儲到數(shù)據(jù)庫,保證其被盜取之后盜取者也很難知道其真實密碼,望采納!
相關(guān)文章:
1. 為什么我ping不通我的docker容器呢???2. 關(guān)于docker下的nginx壓力測試3. javascript - vue vue-router 報$router重復(fù)定義4. java - 根據(jù)月份查詢多個表里的內(nèi)容怎么實現(xiàn)好?5. javascript - webpack熱加載配置不生效6. 關(guān)于Java引用傳遞的一個困惑?7. debian - docker依賴的aufs-tools源碼哪里可以找到?。?/a>8. windows2003下的apache響應(yīng)時間特別長?9. angular.js - angular內(nèi)容過長展開收起效果10. node.js - node exec 執(zhí)行沒反應(yīng)
