javascript - 如何保證數(shù)據(jù)庫里的信息安全?
問題描述
沒接觸過網(wǎng)絡(luò)安全,請教各位大佬,把用戶信息放到數(shù)據(jù)庫后怎么保證安全?
問題解答
回答1:題主你這個(gè)問題問得好大... 從以下幾個(gè)方面著手吧:
數(shù)據(jù)庫權(quán)限:連數(shù)據(jù)庫不要老用root,給web應(yīng)用單獨(dú)開帳號,最小化權(quán)限
數(shù)據(jù)庫密碼:不要弱密碼,盡量搞個(gè)隨機(jī)生成的16位以上的密碼
web服務(wù)器:同數(shù)據(jù)庫,密碼盡量復(fù)雜化,盡量不要直接用root帳號,單獨(dú)開帳號,只有在必須需要的時(shí)候才用root
web應(yīng)用:
盡量選一個(gè)好點(diǎn)的DB庫或ORM庫,使用參數(shù)化的SQL查詢,不要直接把參數(shù)拼在SQL里面,防止SQL注入
用戶(包括后臺管理用戶)的密碼信息不要直接存儲,應(yīng)加鹽hash后再存儲
如果可以,盡量使用HTTPS
渲染HTML的時(shí)候,盡量使用編碼后再輸出,防止XSS
非得輸出一段用戶控制的富文本HTML的時(shí)候,使用htmlpurifier這樣的過濾器,防止XSS
遵循HTTP動(dòng)詞語義,增刪改類操作使用POST/DELETE/PUT,并增加csrf_token,防止CSRF攻擊
暫時(shí)想到這么多,web安全還有很多要注意的點(diǎn),建議LZ直接請個(gè)安全顧問吧。
回答2:首先,你的前端以及后端代碼要保證其安全性,不能出現(xiàn)XXS或者SQL注入等攻擊漏洞,再者就是數(shù)據(jù)庫服務(wù)器與Web服務(wù)器進(jìn)行分離,這樣即可以提高一部分的安全性能也可以使網(wǎng)站提升效率。另外用戶信息中的密碼最好全部通過特定的加密方式進(jìn)行加密處理之后再存儲到數(shù)據(jù)庫,保證其被盜取之后盜取者也很難知道其真實(shí)密碼,望采納!
相關(guān)文章:
1. docker 17.03 怎么配置 registry mirror ?2. css3里rotate怎么實(shí)現(xiàn)如圖的效果3. javascript - 使用location.href進(jìn)行頁面跳轉(zhuǎn)時(shí),并不立即跳轉(zhuǎn)?4. mysqld無法關(guān)閉5. angular.js - angularJS service里面存儲的數(shù)據(jù)能夠直接和HTML頁面交互嗎?6. html - chrome 下 transiton translateX(10px) 后字體變化7. spring-mvc - eclipse java maven web 項(xiàng)目如何重新編譯 ,不是clean那個(gè) 詳情進(jìn)來看圖 謝謝大家8. javascript - 七牛接口如何在前端調(diào)用?9. html - css 的::-webkit-scrollbar 只能夠設(shè)置垂直滾動(dòng)條的寬度??如何設(shè)置水平滾動(dòng)條的寬度??10. javascript - vue-cli項(xiàng)目中,獲取微信access_token時(shí)遇到的跨域問題
