javascript - 如何保證數據庫里的信息安全?
問題描述
沒接觸過網絡安全,請教各位大佬,把用戶信息放到數據庫后怎么保證安全?
問題解答
回答1:題主你這個問題問得好大... 從以下幾個方面著手吧:
數據庫權限:連數據庫不要老用root,給web應用單獨開帳號,最小化權限
數據庫密碼:不要弱密碼,盡量搞個隨機生成的16位以上的密碼
web服務器:同數據庫,密碼盡量復雜化,盡量不要直接用root帳號,單獨開帳號,只有在必須需要的時候才用root
web應用:
盡量選一個好點的DB庫或ORM庫,使用參數化的SQL查詢,不要直接把參數拼在SQL里面,防止SQL注入
用戶(包括后臺管理用戶)的密碼信息不要直接存儲,應加鹽hash后再存儲
如果可以,盡量使用HTTPS
渲染HTML的時候,盡量使用編碼后再輸出,防止XSS
非得輸出一段用戶控制的富文本HTML的時候,使用htmlpurifier這樣的過濾器,防止XSS
遵循HTTP動詞語義,增刪改類操作使用POST/DELETE/PUT,并增加csrf_token,防止CSRF攻擊
暫時想到這么多,web安全還有很多要注意的點,建議LZ直接請個安全顧問吧。
回答2:首先,你的前端以及后端代碼要保證其安全性,不能出現XXS或者SQL注入等攻擊漏洞,再者就是數據庫服務器與Web服務器進行分離,這樣即可以提高一部分的安全性能也可以使網站提升效率。另外用戶信息中的密碼最好全部通過特定的加密方式進行加密處理之后再存儲到數據庫,保證其被盜取之后盜取者也很難知道其真實密碼,望采納!
相關文章:
1. mysql - 如何減少使用或者不用LEFT JOIN查詢?2. 視頻文件不能播放,怎么辦?3. Python爬蟲如何爬取span和span中間的內容并分別存入字典里?4. python - 編碼問題求助5. python - Scrapy存在內存泄漏的問題。6. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載7. 網頁爬蟲 - python 爬取網站 并解析非json內容8. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處9. node.js - nodejs開發中常用的連接mysql的庫10. mysql - jdbc的問題
