Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动设备上的csrf保护(在cordova中运行)_Javascript_Android_Django_Cordova_Csrf - Fatal编程技术网

Javascript 移动设备上的csrf保护(在cordova中运行)

Javascript 移动设备上的csrf保护(在cordova中运行),javascript,android,django,cordova,csrf,Javascript,Android,Django,Cordova,Csrf,我想部署我的移动应用程序,但在此之前我想解决csrf保护业务 我的应用程序是Cordiva应用程序,服务器是Django服务器。我的应用程序仅通过ajax与服务器通信。从未提供过静态文件 现在,我只需向浏览器发出GET请求,以获取csrf字符串 这是正常的做法吗 在StackOverflow上,有一篇文章:展示了如何设置cookie,但它不适用于我,因为我的静态页面不由浏览器提供服务。它们在手机的记忆中 在维基百科上,有一个使用CORS的例子:。他们明确表示浏览器将发送来源:http://www

我想部署我的移动应用程序,但在此之前我想解决csrf保护业务

我的应用程序是Cordiva应用程序,服务器是Django服务器。我的应用程序仅通过ajax与服务器通信。从未提供过静态文件

现在,我只需向浏览器发出GET请求,以获取csrf字符串

这是正常的做法吗

在StackOverflow上,有一篇文章:展示了如何设置cookie,但它不适用于我,因为我的静态页面不由浏览器提供服务。它们在手机的记忆中

在维基百科上,有一个使用CORS的例子:。他们明确表示浏览器将发送
来源:http://www.example-mysite.com
发送到服务器。但是移动设备会发送什么呢?它没有域名

那么,我如何在手机上使用csrf_保护?我可以在我的服务器上简单地创建一个方法,将csrf字符串发送给任何请求它的人吗?我不确定我应该这样做

请告诉我,如果你以前也走过这条路,典型的解决方案是什么

提前感谢您的帮助和关心


Jenia。

您可以将服务器设置为仅接受具有特定请求头的请求

示例:应用程序ID:5sdc421cs624d

// Request with custom header
$.ajax({
    url: 'foo/bar',
    headers: { 'APPLICATION-ID': '5sdc421cs624d' }
});

然后,您需要使用此标题来请求csrf字符串。

如果有人渗透到您的应用程序中,甚至需要使用csrf,您会怎么做?在桌面网页上,这是一个被高估的问题,那里有像评论这样的向量,但是一个应用不应该有这样的问题。好的。但服务器如何知道请求是来自移动应用程序还是桌面?这个应用程序可以在两者上运行。非常感谢thom-x。我可以用GET或POST发送吗?你可以用GET或POST发送。我不完全确定这将如何防止CSRF。攻击者还可以在提交表单的站点上设置相同的设置。