fix: 目录搜索转义 LIKE 通配符并拒绝编号 inline

This commit is contained in:
Nixevol
2026-09-30 16:21:51 +08:00
parent 05a3741fde
commit 8ca545ae99
6 changed files with 74 additions and 3 deletions
+5 -3
View File
@@ -122,13 +122,15 @@ WHERE id > ?
ORDER BY id ASC
LIMIT ?`, cursor, limit+1)
} else {
like := "%" + strings.ToLower(query) + "%"
prefix := strings.ToLower(query) + "%"
q := strings.ToLower(query)
esc := escapeLikePattern(q)
like := "%" + esc + "%"
prefix := esc + "%"
rows, err = a.db.Read.QueryContext(ctx, `
SELECT id, name, online_since, offline_since, talk_hash
FROM endpoints
WHERE id > ?
AND (lower(id) LIKE ? OR lower(name) LIKE ?)
AND (lower(id) LIKE ? ESCAPE '\' OR lower(name) LIKE ? ESCAPE '\')
ORDER BY id ASC
LIMIT ?`, cursor, prefix, like, limit+1)
}