沒接觸過網路安全,請教各位大佬,把用戶資料放到資料庫後怎麼保證安全?
題主你這個問題問得好大... 從以下幾個方面著手吧:
資料庫權限:連資料庫不要老用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直接請個安全顧問吧。
首先,你的前端以及後端程式碼要確保其安全性,不能出現XXS或SQL注入等攻擊漏洞,再者就是資料庫伺服器與Web伺服器進行分離,這樣即可以提高一部分的安全性效能也可以使網站提升效率。另外用戶資訊中的密碼最好全部透過特定的加密方式進行加密處理之後再儲存到資料庫,保證其被盜取之後盜取者也很難知道其真實密碼,望採納!
題主你這個問題問得好大... 從以下幾個方面著手吧:
資料庫權限:連資料庫不要老用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直接請個安全顧問吧。
首先,你的前端以及後端程式碼要確保其安全性,不能出現XXS或SQL注入等攻擊漏洞,再者就是資料庫伺服器與Web伺服器進行分離,這樣即可以提高一部分的安全性效能也可以使網站提升效率。另外用戶資訊中的密碼最好全部透過特定的加密方式進行加密處理之後再儲存到資料庫,保證其被盜取之後盜取者也很難知道其真實密碼,望採納!