Django对同源策略添加豁免(仅适用于一个站点)

时间:2016-03-17 07:44:49

标签: django cors same-origin-policy django-csrf

当我尝试通过简单的html在我的网站上加载Google广告时,我从google.g.doubleclick.net收到错误。

Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame with origin "https://example.com". Protocols, domains, and ports must match.

奇怪的是,我有一个网站的部分,我通过javascript添加一些广告,该部分不会抛出任何错误。

我读过有关向网站根目录添加crossdomain.xml的内容,我试过了(并且还使用NGINX提供服务,但这也不起作用......

有没有办法为django的CSRF规则添加例外,或以其他任何方式来解决这个问题?这让我疯了。此错误仅在safari中引发(仅尝试过safari和chrome),但它为数据传输添加了很多内容以加载页面,我不想让事情变慢。

1 个答案:

答案 0 :(得分:4)

这与CSRF无关,而是与same origin policy security restriction有关,您可以通过实施CORS并发送相应的标头来解决这个问题。

您可以使用django-cors-headers来帮助解决此问题。