about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2025-03-23 22:59:05 +0100
committerAlan Pearce2025-03-23 22:59:05 +0100
commit0cd9a2446413e9050c24ccd409bc8f97ad18076a (patch)
tree58fb656413f4ef6b5efd37acfa1a5de3e7f4318a
parent297a7a2096a12e6ac50d7b2077f2d75a7026fae4 (diff)
downloadsearchix-0cd9a2446413e9050c24ccd409bc8f97ad18076a.tar.lz
searchix-0cd9a2446413e9050c24ccd409bc8f97ad18076a.tar.zst
searchix-0cd9a2446413e9050c24ccd409bc8f97ad18076a.zip
fix: block single-character queries
-rw-r--r--internal/components/search.go1
-rw-r--r--internal/server/mux.go6
2 files changed, 7 insertions, 0 deletions
diff --git a/internal/components/search.go b/internal/components/search.go
index ae44476..3c28597 100644
--- a/internal/components/search.go
+++ b/internal/components/search.go
@@ -19,6 +19,7 @@ func SearchForm(tdata TemplateData, r ResultData) g.Node {
 			Input(
 				ID("query"),
 				Aria("labelledby", "legend"),
+				MinLength("2"),
 				Name("query"),
 				Type("search"),
 				Value(r.Query),
diff --git a/internal/server/mux.go b/internal/server/mux.go
index 151fb96..968b37c 100644
--- a/internal/server/mux.go
+++ b/internal/server/mux.go
@@ -96,6 +96,12 @@ func NewMux(
 			if r.URL.Query().Has("query") {
 				qs := r.URL.Query().Get("query")
 
+				if len(qs) < 2 {
+					errorHandler(w, r, "Query too short", http.StatusBadRequest)
+
+					return
+				}
+
 				var pageSize int = search.DefaultPageSize
 				var pageNumber = 1
 				if pg := r.URL.Query().Get("page"); pg != "" {