0
我正在構建一個Chrome擴展,其功能之一是聯繫我的服務器以在其上存儲消息。只有知道用戶才能做到。Chrome擴展和服務器之間的安全通信
我的問題是,我這樣做的方式不安全。我在我的服務器上有一個數據庫,用於存儲用戶名和加密密碼。
要發送消息到我的服務器,用戶必須每次寫入他的密碼,擴展名不會記住它。如果我使用XMLHttpRequest聯繫我的服務器,我有兩個選擇。 我公司可以派:
myServerDomain + '?message=' + myMessage + '&user=' + myUserName + '&password=' + myPassword
而且我的服務器上加密密碼,以檢查它是否是好的。
或者,我可以送:
myServerDomain + '?message=' + myMessage + '&user=' + myUserName + '&password=' + myPasswordEncrypted
,並直接在我的服務器上檢查是否myPasswordEncrypted與一個保存的比賽。
但是,對於這兩種方式,我只需訪問用戶的計算機,檢查谷歌瀏覽器窗口轉到控制檯,然後網絡請求獲取myPasswordEncrypted或myPassword,然後發送我自己修改後的請求。
我該如何保護它?
不要對密碼進行加密,用鹽對它們進行散列並迭代以達到100ms的持續時間。使用諸如password_hash,PBKDF2,Bcrypt和類似函數的函數。請參閱OWASP(Open Web Application Security Project)[密碼存儲備忘單](https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet#Leverage_an_adaptive_one-way_function)。 – zaph