GAE上的CORS - 多个起源

时间:2015-11-19 16:16:02

标签: python google-app-engine

我已使用以下代码在我的Google App Engine Python应用程序上实现了CORS:

    approved_origin = 'https://example.com'
    self.response.headers.add_header('Access-Control-Allow-Origin', approved_origin)

问题是我可以允许多个已批准的来源,并且希望同时允许http和https。

有谁知道是否可以这样做,如果是,那么语法是什么?我想要允许所有来源'*'。

2 个答案:

答案 0 :(得分:5)

如果当前请求来自已批准的来源,则必须保留允许来源的白名单并包含CORS标头。这样的事情应该有效:

approved_origins = ['https://example.com', 'https://example.info']
if self.request.headers['Origin'] in approved_origins:
  self.response.headers.add_header('Access-Control-Allow-Origin', self.request.headers['Origin'])

答案 1 :(得分:0)

补充:https://stackoverflow.com/a/14006226/3203254

  

CORS规范是全有或全无。它仅支持*,null或确切的域:http://www.w3.org/TR/cors/#access-control-allow-origin-response-header

您的服务器需要使用正则表达式验证原始标头,然后您可以在Access-Control-Allow-Origin响应标头中回显原始值。