Preserve safe return paths through sign-in
CI / test (push) Failing after 3m18s

This commit is contained in:
2026-09-16 05:36:36 +02:00
parent b6d264c9ec
commit 87809b2344
8 changed files with 116 additions and 6 deletions
+12
View File
@@ -141,3 +141,15 @@ func pathWithQuery(path string, pairs ...any) string {
}
return path + "?" + values.Encode()
}
func safeReturnPath(value string) string {
value = strings.TrimSpace(value)
if value == "" {
return ""
}
target, err := url.Parse(value)
if err != nil || target.IsAbs() || target.Host != "" || !strings.HasPrefix(target.Path, "/") || strings.HasPrefix(target.Path, "//") || strings.Contains(target.Path, `\`) {
return ""
}
return target.RequestURI()
}