我有一個restAPI,它允許用戶提交資料以保存在我的資料庫中。提交資料時,他們的用戶 ID 將從請求標頭中獲取并添加到檔案中
在我的集合(mongoDB)中,有一個普通_id欄位和一個userID參考用戶的欄位。
我的問題是在惡意用戶向不屬于他們的檔案提交 PUT 或 DELETE 請求的情況下,處理它的最佳方法是什么。
我只使用已提交的資料庫從資料庫中提取預測,根據請求
_id檢查該欄位,如果它們不匹配,則發出 403 回應。userIDuserID_id我通過和查詢資料庫userID,因此如果檔案不屬于請求用戶,則不會找到。然后我會發出一個 404 回應,就像他們提交了一個不存在的 id 一樣。
兩種選擇都達到了相同的目標,即防止用戶編輯或洗掉不屬于他們的資源,但哪個“更好”?
uj5u.com熱心網友回復:
404 表示“未找到”,顯然不是這樣。
使用 403。
參考維基百科:
盡管提供了身份驗證,但當客戶端不允許訪問資源時,將回傳 HTTP 403 ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466820.html
