【发布时间】:2014-09-21 04:22:24
【问题描述】:
我想部署我的移动应用,但在此之前我想解决 csrf 保护业务。
我的应用是 Cordiva 应用,服务器是 Django 服务器。我的应用程序仅使用 ajax 与服务器通信。从未提供过静态文件。
现在,我只是向浏览器发出 GET 请求以获取 csrf 字符串。
这是正常的做法吗?
在 StackOverflow 上,有一个帖子:CSRF Token in Phonegap using AJAX 显示了如何设置 cookie,但它不适用于我,因为我的静态页面不是由浏览器提供的。它们在手机的内存中。
在维基百科上,有一个使用 CORS 的示例:http://en.wikipedia.org/wiki/Cross-origin_resource_sharing。他们特别说浏览器会将Origin: http://www.example-mysite.com 发送到服务器。但是移动设备会发送什么?它没有域名。
再说一遍,我如何在手机上使用 csrf_protection?我可以简单地在我的服务器上创建一个方法,将 csrf 字符串发送给任何需要它的人吗?我不确定我应该这样做。
请问,如果您以前曾走上这条路,请告诉我典型的解决方案是什么?
提前感谢您的帮助和关心。
杰尼亚。
【问题讨论】:
-
任何人会如何渗透你的应用程序,甚至需要使用 csrf 来打扰?这是桌面网页上的一个被高估的问题,其中有像 cmets 这样的实际向量,但应用程序不应该有这样的问题。
-
好的。但是服务器如何知道请求是来自移动应用程序还是来自桌面?这个应用程序可以在两者上运行。
标签: javascript android django cordova csrf