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. boot2docker無法啟動2. node.js - antdesign怎么集合react-redux對input控件進行初始化賦值3. 關于docker下的nginx壓力測試4. MYSQL中如何把SELECT A AS B中的B作為WHERE篩選條件5. mysql - InnoDB中的鎖6. MySQL客戶端吃掉了SQL注解?7. mysql - 對同一個表同時更新2條記錄,但更新不同字段,會不會造成數據丟失?8. node.js mysql Cannot find module "net" 和 "tls"和"fs" 的問題9. mysql 一條語句多種count如何寫10. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。

網公網安備