@小兽,点进bot的个人信息页面,可以开启免打扰。免打扰消息不会推送。
@老虎会游泳,昨晚,微信wxpusher把最近几天艾特我的消息一股脑儿的发给我,今天我刚醒来,bot艾特我了😏
@老虎会游泳,嗯
@cherrydra,我决定把
HTTP/1.1 503 Service Unavailable改成HTTP/1.1 429 Too Many Requests,后者更符合标准。
@cherrydra,所有 api 都是这样的吧
@老虎会游泳,超速后会出现
Retry-After响应头的话,那没必要再返回 JSON 了
@cherrydra,目前有一个头信息:
header('HTTP/1.1 503 Service Unavailable'); header('Retry-After: '.$needWaitSeconds);
@cherrydra,我可以添加一个功能来返回JSON
@老虎会游泳,api 超速时返回的也是 HTML 吗?
@老虎会游泳,明白
@cherrydra,
hu60bot怎么拿到客户端真实IP:目前是以下头信息,但我建议不要假定管理员开了代理,首先使用remote addr。除非管理员指定了一个头信息参数,再使用它。proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr;
@老虎会游泳,明白了,你说的是
hu60bot请求 hu60api 时的 ip。我会加一个参数,由管理员来指定这个头的 key, value就是用户的IP。这样hu60bot就可以在这个 api 报超速时,返回ws客户端超速对吧?
hu60bot怎么拿到客户端真实IP?x-real-ip可以吗?
@cherrydra,是
hu60bot访问了/user.index.json,不是用户访问了/user.index.json,nginx不可能神奇的感知到背后的用户IP是什么。
@cherrydra,所以我们需要
req.Header.Set(一个自定义头信息的变量, 用户的真实IP)
@cherrydra,如果
http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/user.index.json")不传递IP,nginx显然不知道用户的IP是什么。
@老虎会游泳,明白了。
真实 IP 那个,可以从 nginx 传到 后端 吗?用 IP 来限速好点
@cherrydra,这里达到了限速,所以没有人可以认证通过。顺便一提
udSySELORQDee6_Jxv-YPMEAsAAA已经被我设为无效了,所以公开也没关系。// 获取sid(跨域时禁用cookie) sid := getRequestParam(r, "sid", noCookie) if sid == "" || sid == "udSySELORQDee6_Jxv-YPMEAsAAA" { m.responseUnauthenticated(ws) logrus.Warn("authentication failed: sid not found") return } // 这里达到了限速 res, err := m.hu60Client.GetProfile(context.Background(), sid) if err != nil { m.responseUnauthenticated(ws) logrus.Warn("authentication failed: ", err.Error()) return }
