[英]How do I secure a REST API from CSRF when both frontend and API are on the same Go server?
[英]How to secure Rest API endpoint that is consumed by the frontend on same server?
想象一下前端的場景,例如通過 ajax 請求從 Rest API 獲取數據並使用它。 保護 Rest API 的最佳方法是什么?
我在考慮不記名令牌。 但是話又說回來,仍然可以從代碼中攔截/挖掘不記名令牌。
我也在考慮 CORS 並且只允許同源 header,但同樣可以通過 curl 等進行欺騙。
我也在考慮構建令牌環系統,請求者首先必須宣布他讀/寫資源的意圖,然后要么被批准並給予一個使用令牌來執行讀/寫,要么被拒絕。 但這最終可能會占用大量資源和性能。
還有哪些其他選擇?
我們需要一些上下文。 問題是為什么您需要保護數據。 根據您的要求,答案可能會有所不同。
如果您獲取的數據在您的網頁上對所有人公開可用,即使您使用令牌也無法確保其安全。 因為任何人都知道 web 是如何工作的,所以可以使用令牌來捕獲數據或簡單地解析您的網頁。
如果您想限制 API 的使用,那么您可以實施 API 網關和 web 防火牆,這樣就沒有人可以濫用您的 API 端點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.