当前位置:  开发笔记 > 前端 > 正文

将CSRF保护与RESTful API相结合的有哪些可行技术?

如何解决《将CSRF保护与RESTfulAPI相结合的有哪些可行技术?》经验,为你挑选了0个好方法。

我很想知道人们在为他们的Web应用程序构建RESTful(或准RESTful)API时采取了哪些方法.

一个实际的例子:

假设您有一个基于浏览器的传统Web应用程序,它在所有表单上都使用CSRF保护.浏览器中显示的每种形式都包含一个带有CSRF保护令牌的隐藏输入.提交表单后,如果此输入与令牌的服务器端版本不匹配,则表单被视为无效.

现在假设您希望将Web应用程序公开为API(可能使用JSON而不是HTML).传统上,在发布API时,我认为事务是单方面的(意味着API使用者基于发布的API构建请求,而不是首先请求表单,然后使用返回的表单构建请求).

当像CSRF保护因素这样的事情时,"单边"方法就会崩溃.需要将CSRF保护令牌包含在API消费者发送的任何POSTS/PUTS/DELETES中.

我一直在努力思考如何最好地解决这个问题.每次需要进行API调用时请求一个表单看起来很尴尬(特别是在处理异步操作时),但我自己想到的所有其他替代方案似乎都破坏了CSRF保护(或至少打破了它的漏洞) ),这是不可接受的.

你们中有谁对此有所了解吗?

谢谢.

(并不是说它应该太重要,因为问题是概念和平台不可知的,但我正在处理传统的LAMP堆栈并使用Symfony 1.4作为我的应用程序框架.我的目标是发布一个JSON格式的Web API,允许开发人员使移动/桌面应用程序与现有的Web应用程序相得益彰.)

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有