mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-06 12:03:50 +08:00
尝试修复正向WebSocket下的鉴权panic
This commit is contained in:
parent
d0398f30c6
commit
9c65ff4dcd
@ -206,10 +206,16 @@ func (c *websocketClient) onBotPushEvent(m coolq.MSG) {
|
||||
|
||||
func (s *websocketServer) event(w http.ResponseWriter, r *http.Request) {
|
||||
if s.token != "" {
|
||||
if r.URL.Query().Get("access_token") != s.token && strings.SplitN(r.Header.Get("Authorization"), " ", 2)[1] != s.token {
|
||||
if r.URL.Query().Get("access_token") != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
} else if auth := r.Header.Get("Authorization"); auth != "" {
|
||||
if strings.SplitN(auth, " ", 2)[1] != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
c, err := upgrader.Upgrade(w, r, nil)
|
||||
@ -235,10 +241,16 @@ func (s *websocketServer) event(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func (s *websocketServer) api(w http.ResponseWriter, r *http.Request) {
|
||||
if s.token != "" {
|
||||
if r.URL.Query().Get("access_token") != s.token && strings.SplitN(r.Header.Get("Authorization"), " ", 2)[1] != s.token {
|
||||
if r.URL.Query().Get("access_token") != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
} else if auth := r.Header.Get("Authorization"); auth != "" {
|
||||
if strings.SplitN(auth, " ", 2)[1] != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
c, err := upgrader.Upgrade(w, r, nil)
|
||||
@ -253,10 +265,16 @@ func (s *websocketServer) api(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func (s *websocketServer) any(w http.ResponseWriter, r *http.Request) {
|
||||
if s.token != "" {
|
||||
if r.URL.Query().Get("access_token") != s.token && strings.SplitN(r.Header.Get("Authorization"), " ", 2)[1] != s.token {
|
||||
if r.URL.Query().Get("access_token") != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
} else if auth := r.Header.Get("Authorization"); auth != "" {
|
||||
if strings.SplitN(auth, " ", 2)[1] != s.token {
|
||||
log.Warnf("已拒绝 %v 的 Websocket 请求: Token错误", r.RemoteAddr)
|
||||
w.WriteHeader(401)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
c, err := upgrader.Upgrade(w, r, nil)
|
||||
|
Loading…
x
Reference in New Issue
Block a user