GAE上的CORS - 多个来源
我在我的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
补充一下:https://stackoverflow.com/a/14006226/3203254
CORS(跨源资源共享)规范是全有或全无的。它只支持 *, null 或者完全匹配的域名:http://www.w3.org/TR/cors/#access-control-allow-origin-response-header
你的服务器需要使用正则表达式来验证来源头信息,然后你可以在 Access-Control-Allow-Origin 的响应头中返回这个来源的值。
7
你需要维护一个允许的来源白名单,如果当前的请求来自一个被批准的来源,就要加上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'])