我希望在我的FlaskTM应用程序中使用一组预定义的允许原点来启用CORS,如文档here所示:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app, origins=['http://localhost:3000', 'https://app.my_domain.com'])

问题是,如果我没有在向服务器的请求中指定Origin标头,Access-Control-Allow-Origin响应标头将返回一个任意值.

因此,例如,如果我在https://app.my_domain.com上运行的Web应用程序向后端发送GET请求,而没有指定Origin请求头,则后端返回以下响应头:

Access-Control-Allow-Origin: http://localhost:3000

在我看来,这似乎不正确.这一机制打算如何使用?

推荐答案

似乎FlaskCORS有一个没有文档记录的选项,名为always_send,默认为True(参见GitHub code和相关的issue).此选项的作用是,即使不存在"Origin"标头,它也会返回原点.

要解决该问题,只需将选项设置为False:

CORS(app, origins=['http://localhost:3000', 'https://app.my_domain.com'], always_send=False)

Python相关问答推荐

我可以使用极点优化这个面向cpu的pandas代码吗?

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

使用Python C API重新启动Python解释器

Altair -箱形图边界设置为黑色,中线设置为红色

如何获取Django REST框架中序列化器内部的外卡属性?

Plotly:如何更改Heatmap中彩色条的勾选文本

机器人与Pyton Minecraft服务器状态不和

Python主进程和分支进程如何共享gc信息?

不允许AMBIMA API请求方法

jit JAX函数中的迭代器

将HTML输出转换为表格中的问题

如何根据另一列值用字典中的值替换列值

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

重新匹配{ }中包含的文本,其中文本可能包含{{var}

对于一个给定的数字,找出一个整数的最小和最大可能的和

如何在表中添加重复的列?

如何使用SentenceTransformers创建矢量嵌入?

在pandas数据框中计算相对体积比指标,并添加指标值作为新列

为什么if2/if3会提供两种不同的输出?

Cython无法识别Numpy类型