【发布时间】:2014-03-06 06:42:55
【问题描述】:
我已经使用 django 作为我的后端做了一些移动应用程序,现在我正在开发一个 chrome 扩展。我希望我的用户能够使用应用程序/扩展将 POST 请求发送到服务器,但是有没有办法在不先向服务器询问 CSRF 令牌的情况下做到这一点?它只是让应用程序免于在每次我们要提交数据时发出两个请求。例如,我想在我的社交媒体应用程序上更新我的个人资料或从 chrome 扩展程序更新钱包。打开配置文件视图输入数据并将其推送到服务器会很好。如果我必须打开配置文件,然后等待它从服务器获取令牌,然后我可以提交数据,那就不那么时髦了。还有另一种方法可以做到这一点吗?还是每次我想提交数据时都无法发出多个请求?
另外,稍微澄清一下,CSRF 会阻止网站提交包含用户数据的表单。但是是什么阻止我创建一个使用 ajax 或其他东西来获取真实站点并窃取 CSRF 令牌然后将其粘贴到我的跨站点请求表单中的站点?我觉得这里有一个漏洞。我知道我一直不太了解这一点。
【问题讨论】:
标签: django csrf django-csrf