From fa49681cd9e970997c06e1543610f94915a98b68 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 25 Mar 2024 10:23:29 +0800 Subject: [PATCH] :art: https://ld246.com/article/1708684037961 --- kernel/model/session.go | 4 ++-- kernel/server/serve.go | 2 +- kernel/util/net.go | 9 ++++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/kernel/model/session.go b/kernel/model/session.go index c0d084a1d..80dbdcd9f 100644 --- a/kernel/model/session.go +++ b/kernel/model/session.go @@ -94,7 +94,7 @@ func LoginAuth(c *gin.Context) { if Conf.AccessAuthCode != authCode { ret.Code = -1 ret.Msg = Conf.Language(83) - logging.LogWarnf("invalid auth code") + logging.LogWarnf("invalid auth code [ip=%s]", util.GetRemoteAddr(c.Request)) util.WrongAuthCount++ workspaceSession.Captcha = gulu.Rand.String(7) @@ -113,7 +113,7 @@ func LoginAuth(c *gin.Context) { workspaceSession.AccessAuthCode = authCode util.WrongAuthCount = 0 workspaceSession.Captcha = gulu.Rand.String(7) - logging.LogInfof("auth success") + logging.LogInfof("auth success [ip=%s]", util.GetRemoteAddr(c.Request)) if err := session.Save(c); nil != err { logging.LogErrorf("save session failed: " + err.Error()) c.Status(http.StatusInternalServerError) diff --git a/kernel/server/serve.go b/kernel/server/serve.go index 32c62b73c..acb9e8561 100644 --- a/kernel/server/serve.go +++ b/kernel/server/serve.go @@ -457,7 +457,7 @@ func serveWebSocket(ginServer *gin.Engine) { if !authOk { s.CloseWithMsg([]byte(" unauthenticated")) - logging.LogWarnf("closed an unauthenticated session [%s]", util.GetRemoteAddr(s)) + logging.LogWarnf("closed an unauthenticated session [%s]", util.GetRemoteAddr(s.Request)) return } diff --git a/kernel/util/net.go b/kernel/util/net.go index f24f97ab9..450b227dc 100644 --- a/kernel/util/net.go +++ b/kernel/util/net.go @@ -27,7 +27,6 @@ import ( "github.com/88250/lute/ast" "github.com/gin-gonic/gin" "github.com/imroc/req/v3" - "github.com/olahol/melody" "github.com/siyuan-note/httpclient" "github.com/siyuan-note/logging" ) @@ -125,15 +124,15 @@ func isOnline(checkURL string, skipTlsVerify bool) (ret bool) { return } -func GetRemoteAddr(session *melody.Session) string { - ret := session.Request.Header.Get("X-forwarded-for") +func GetRemoteAddr(req *http.Request) string { + ret := req.Header.Get("X-forwarded-for") ret = strings.TrimSpace(ret) if "" == ret { - ret = session.Request.Header.Get("X-Real-IP") + ret = req.Header.Get("X-Real-IP") } ret = strings.TrimSpace(ret) if "" == ret { - return session.Request.RemoteAddr + return req.RemoteAddr } return strings.Split(ret, ",")[0] }