diff options
| author | Jason Cameron <jasoncameron.all@gmail.com> | 2025-03-29 21:15:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-29 21:15:50 -0400 |
| commit | 3683f95933653b04d9f4f900cccfb5adc59eb9ac (patch) | |
| tree | 12f49f6c7dabb97f5c1566029e85b5de576689ff /lib | |
| parent | 168329fff02bd86af1ef7eb2728b772fb9535478 (diff) | |
| download | anubis-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')
| -rw-r--r-- | lib/anubis.go | 13 |
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) { |
