gpt4 book ai didi

python - 如何使用 Flask CORS 将域列入白名单

转载 作者:行者123 更新时间:2023-12-01 22:34:42 28 4
gpt4 key购买 nike

我在让 Flask CORS 将某些域列入白名单以使其无法执行 POST 请求时遇到一些问题。我正在从 www.google.com 发出curl 请求,但使用域名 googl.com 来确认该帖子。

目前,每个帖子都被允许进入,因为我的 curl 是“Access-Control-Allow-Origin:*”

我只是希望能够确保只有设定的域可以发出 POST 请求

@app.route('/api/userreset', methods=['POST'])
@cross_origin(origin='http://www.googl.com')
def resetFunction():


curl --header "Content-Type: application/json" --request POST "Origin: http://www.google.com" --verbose --data '{"email":"test@example.com"}' http://0.0.0.0:8080/api/userreset

我还尝试了以下方法,但什么也没做:

cors = CORS(app, resources={r"/api/*": {"origins": "http://www.googl.com"}})

POST回复如下:

    *   Trying 0.0.0.0...
* TCP_NODELAY set
* Connected to 0.0.0.0 (127.0.0.1) port 8080 (#0)
> POST /api/userreset HTTP/1.1
> Host: 0.0.0.0:8080
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 219
>
* upload completely sent off: 219 out of 219 bytes
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 55
< Access-Control-Allow-Origin: *
< Server: Werkzeug/0.16.0 Python/3.8.0
< Date: Mon, 16 Dec 2019 02:21:49 GMT

最佳答案

CORS header 告诉浏览器允许访问哪些域。这并不是为了完全限制对服务器的访问,而是告诉浏览器允许从哪些域访问服务器。浏览器仍然要遵守这一点。如果您从 CURL 执行此操作,它将始终有效,因为curl 不会像浏览器那样强制执行 CORS。

关于python - 如何使用 Flask CORS 将域列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59349847/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com