我在執行鍼對前端與使用密鑰後端通信的安全方式。後端是敏感業務簽署API從前端調用後端
首先,我想智威湯遜,但基於令牌的方法有兩個缺點(手機銀行):
一)前端必須獲得令牌,這意味着它必須向後端發送一些認證數據 - 如果前端可以做到這一點,任何人都可以做到這一點。
二)即使獲得令牌的一些安全的方式,任何人都可以啓動Chrome瀏覽器開發工具,並使用它,而它沒有過期。
所以另一種方法是從簽署前端用密鑰每個請求。關鍵是衆所周知的後端和前端的前端捆綁並變醜,以保持鑰匙的祕密。我們連接請求URL和它的有效載荷,用一個密鑰對它們進行加密,並將結果散列發送到一個頭部。後端獲取請求,執行相同的加密並比較標題;如果它們相同 - 則提出請求。
這使我的三個問題:
這是否真的意味着,即使請求聞了聞,不能被複制,除非該網址+有效載荷是一樣的嗎?有什麼我失蹤?
是否有JS庫執行這一做法? (或者也可以是針對後端太 - 我使用Django)
有沒有更好的方法嗎?
這是不是一個特別安全的方法:這是混淆的安全性。 雖然按鍵隱藏在通過醜化前端,它仍然存在有人發現,如果他們試圖夠硬... – user184994
而不是滾動您自己的解決方案考慮使用一些嘗試和OAuth的測試這樣。還有的前端和後端可用的庫/工具包(Django的OAuth的工具包) – AndrewS
JWTs你試圖正是重建,但在一個更安全的方式。如果你的祕密是在客戶端,那麼解決它是微不足道的。 – Trickycm