gpt4 book ai didi

go - 如何向 gorilla websocket 的 CheckOrigin 添加可信来源?

转载 作者:行者123 更新时间:2023-12-03 10:08:36 25 4
gpt4 key购买 nike

我正在开发一个基于 websocket 的应用程序,其中前端在 vue.js 中,在端口 127.0.0.1:8080 上运行,后端在 golang 中,在端口 127.0.0.1 上运行:3000。前端应该与:serverUrl: "ws://127.0.0.1:3000/ws",

为了避免 CORS 问题,我必须为 CheckOrigin 返回 true:

var upgrader = websocket.Upgrader{
ReadBufferSize: 4096,
WriteBufferSize: 4096,
CheckOrigin: func(r *http.Request) bool {
return true
},
}

但是我知道这是不安全的,因为这会为任何 IP 连接到支持的 IP 敞开大门。我的问题是如何限制它,使其只允许来自 127.0.0.1:8080 的请求?

我看过 the docs但找不到怎么做。

最佳答案

CheckOrigin 返回 true函数如果 origin是受信任的网站。

CheckOrigin: func(r *http.Request) bool {
origin := r.Header.Get("Origin")
return origin == "http://127.0.0.1:8080"
},

关于go - 如何向 gorilla websocket 的 CheckOrigin 添加可信来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65034144/

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