是否有可能僅在HTML/JS中爲REST API創建客戶端並防止CSRF?僅適用於HTML/JS的REST API客戶端
0
A
回答
1
這是可能的。
CSRF預防通常針對簡單的網站而不是API,因爲API通常旨在被其他網站訪問。隱藏的麪包屑和令牌是防止此類攻擊的最常見方式,但在可消費的API上無法正常工作。
你可能需要的是一個好的主認證機制。易受CSRF攻擊的Web應用程序的主要弱點之一是Cookie。如果您的API不需要它們,那麼使用其他身份驗證機制(如OAuth或HTTP摘要)可能是答案,因此外部用戶仍然可以安全地使用API(無需討厭的碎屑驗證)。
在JS客戶端應用程序中,HTTP Auth Basic和OAuth 2.0都可行。這裏有一個OAuth2的演示:https://gist.github.com/563893
Twitter在主網站內部使用它自己的公共API,所以有證據表明這樣的事情是可能的,儘管我不確定他們如何專門阻止外部CSRF。每個請求都由接收方完成(位於此處:https://api.twitter.com/receiver.html),並且授權令牌由cookie傳輸。你可能需要進一步研究它們的實現。
相關問題
- 1. ValidateAntiForgeryToken僅適用於僅使用REST API的客戶端
- 2. REST API適用於瀏覽器,但不適用於客戶端
- 3. wshttpbinding僅適用於.net客戶端?
- 4. 哪個適用於neo4j的Ruby REST API客戶端?
- 5. 僅適用於我的Android客戶端的網站API
- 6. GWT客戶端端rest API
- 7. JS客戶端的REST API
- 8. C#REST API客戶端
- 9. C#REST API客戶端Prestashop
- 10. 創建REST客戶端API
- 11. 適用於Chrome的高級REST客戶端的SSL證書
- 12. 適用於Java REST客戶端的swagger-codegen標頭參數
- 13. Java Rest客戶端API使用未來
- 14. 如何在客戶端使用rest api?
- 15. 在客戶端調用rest api c#
- 16. PHP REST客戶端API調用
- 17. Web客戶端API和Rest API
- 18. CXF Rest客戶端 - 基於代理的API和CXF WebClient API
- 19. 客戶端僅會從REST服務
- 20. React-redux僅適用於客戶端應用程序
- 21. Application Insight適用於本地主機,但僅適用於Azure客戶端數據
- 22. 用於REST API的便攜式Javascript客戶端
- 23. REST API客戶端的最佳框架
- 24. 限制客戶端的REST API訪問
- 25. REST API調用適用於ARC客戶端,但不適用於郵遞員或代碼
- 26. Kaa Admin ReST客戶端用於java
- 27. 適用於MySQL 4.1的Windows客戶端
- 28. 適用於iPhone的SyncML客戶端
- 29. 適用於iOS的GraphQL客戶端庫
- 30. 適用於Android的SOAP客戶端
如何將密鑰存儲在客戶端? (我的客戶是瀏覽器) – vlycser