【发布时间】:2016-05-31 23:06:36
【问题描述】:
我有一个应用程序,以 Django 作为服务器,在前端使用 Angular。 我知道 Django 和 Angular 都内置了对 CSRF(跨站点请求伪造)保护的支持。
所以从这些资源中:
http://django-angular.readthedocs.org/en/latest/csrf-protection.html
我可以轻松实现 CSRF 保护。 但不幸的是,这些解决方案对我不起作用。
更多挖掘表明,它不适用于跨域。好吧,构建后我的 Django 和 Angular 将在同一个域中,我想在我的开发环境中测试 CSRF。
所以我的问题是,如何在跨域中使用 CSRF(在这种情况下)?至少在我的开发环境中? (http://localhost/)
提前致谢。
【问题讨论】:
-
从哪个服务器角度文件提供服务?
-
就像我说的,在构建之后文件将在同一个域中。但现在我从我的系统本身运行它。(本地主机)
-
我的设置与您的设置相似(尽管不使用 django-angular),并且您发布的第二个链接中提供的解决方案效果很好。另外,我看不出您的开发环境中如何出现 CORS 问题。您能否详细说明您遇到的问题?
-
@AsimKT 我在问你使用的是 ngnix 还是任何其他静态服务器。
-
当我在 localhost 中提供文件时,会出现 CORS 问题,因为服务器位于另一个域中。我们在服务器中启用了 CORS,以便我可以从任何地方访问 API。您在不同域中拥有服务器和客户端? @4rlekin
标签: angularjs django cross-domain csrf