當我開發Wave Framework時,我非常關注API請求的安全模型。我必須確保API請求可以從任何可能的地方通過HTTP進行,同時可以防範潛在的中間人攻擊,數據篡改等等。簽署文件上傳的API請求?
我最終從輸入數據中構建了一個GET字符串,並用它從API中生成一個SHA-1哈希值,同時用API配置文件密鑰對其進行醃製。這非常有效,並且可以根據需要保護API。
但我的API還允許通過HTTP上傳文件等內容。目前,我完全忽略了文件上傳相關數據(我將其用於緩存簽名,但不用於數據驗證)。這意味着惡意的中間人在技術上可以在文件傳輸過程中更改文件內容。
有沒有其他的選擇?當然,我可以在服務器端發送文件時執行此操作(例如計算文件內容作爲驗證哈希的一部分),但如果上傳是通過Web瀏覽器並通過JavaScript啓動的,那麼這不是一種選擇嗎?
其他框架如何處理?我試圖搜索,但無法找到足夠的信息。謝謝!
不是我真正想找的答案,但我認爲在這種情況下,SSL確實是唯一可以提供幫助的東西。 – kingmaple