aboutsummaryrefslogtreecommitdiff
path: root/lib/anubis.go
diff options
context:
space:
mode:
authorJason Cameron <jasoncameron.all@gmail.com>2025-03-29 21:15:50 -0400
committerGitHub <noreply@github.com>2025-03-29 21:15:50 -0400
commit3683f95933653b04d9f4f900cccfb5adc59eb9ac (patch)
tree12f49f6c7dabb97f5c1566029e85b5de576689ff /lib/anubis.go
parent168329fff02bd86af1ef7eb2728b772fb9535478 (diff)
downloadanubis-3683f95933653b04d9f4f900cccfb5adc59eb9ac.tar.xz
anubis-3683f95933653b04d9f4f900cccfb5adc59eb9ac.zip
Add middleware to set Cache-Control header for challenge HTML (#132)
* Add middleware to set Cache-Control header for challenge HTML * Add `NoStoreCache` middleware function in `internal/headers.go` to set Cache-Control: no-store header * Apply `NoStoreCache` middleware in `cmd/anubis/main.go` to set Cache-Control header for challenge HTML * docs: Add no-cache header information for challenge page * docs: Update changelog to reflect no-store Cache-Control header addition for challenge page * refactor: rename variable for clarity and update caching middleware in RenderIndex * chore: move changes to the unreleased section Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <jasoncameron.all@gmail.com> Signed-off-by: Jason Cameron <git@jasoncameron.dev>
Diffstat (limited to 'lib/anubis.go')
-rw-r--r--lib/anubis.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/anubis.go b/lib/anubis.go
index 8d5dac1..114356c 100644
--- a/lib/anubis.go
+++ b/lib/anubis.go
@@ -162,7 +162,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
func (s *Server) challengeFor(r *http.Request, difficulty int) string {
fp := sha256.Sum256(s.priv.Seed())
- data := fmt.Sprintf(
+ challengeData := fmt.Sprintf(
"Accept-Language=%s,X-Real-IP=%s,User-Agent=%s,WeekTime=%s,Fingerprint=%x,Difficulty=%d",
r.Header.Get("Accept-Language"),
r.Header.Get("X-Real-Ip"),
@@ -171,7 +171,7 @@ func (s *Server) challengeFor(r *http.Request, difficulty int) string {
fp,
difficulty,
)
- return internal.SHA256sum(data)
+ return internal.SHA256sum(challengeData)
}
func (s *Server) MaybeReverseProxy(w http.ResponseWriter, r *http.Request) {
@@ -326,9 +326,12 @@ func (s *Server) MaybeReverseProxy(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) RenderIndex(w http.ResponseWriter, r *http.Request) {
- templ.Handler(
- web.Base("Making sure you're not a bot!", web.Index()),
- ).ServeHTTP(w, r)
+ handler := internal.NoStoreCache(
+ templ.Handler(
+ web.Base("Making sure you\\'re not a bot!", web.Index()),
+ ),
+ )
+ handler.ServeHTTP(w, r)
}
func (s *Server) MakeChallenge(w http.ResponseWriter, r *http.Request) {