我想在我的Flask应用程序中仅允许本地主机作为access-control-allow-origin。我尝试在其他地方搜索此问题,但没有解决方案。我的代码非常简单明了,如下所示:
from flask import Flask
from routes.routes import *
from flask_cors import CORS
app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "http://localhost:3000"}})
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/drax')
app.add_url_rule('/template/<actionId>/<actionName>', None, templateActions, methods=['GET'])
以上内容仅应允许来自localhost:3000的任何请求,而不允许来自其他任何地方的请求,例如localhost:8080。但是,即使我从端口8080(另一个Web应用程序)发出请求,它也允许该请求。
答案 0 :(得分:0)
看起来您需要在请求中指定一个有效的http来源,如下所示:
CORS(
app,
supports_credentials=True,
resources={
r"/*": {
"origins": [
"http://localhost:3000",
""http://localhost"
"http://127.0.0.1:3000",
"http://127.0.0.1,
]
}
},
)
我认为http://local不是有效来源