how to prevent hotlinking with Caddy


recently, some people starting hotlinking to one of my websites in a way i didn't like. to prevent that, i added this to my Caddyfile:

/etc/caddy/Caddyfile
@hp {
  path /to/protect/*
  not header Referer https://yourdomain.tld*
}
              
respond @hp "Hotlinking is not allowed" 403 {
  close
}

once you reload caddy, you should find that all requests to the path specified will return a 403 unless originating from the specified domain.

if you'd like to add something like an age gate, you can instead use the rewrite directive to redirect internally to a page that contains the age gate, and then include an anchor element with an empty link to send the user through. this is how i have things set up now on my art website.

topics annoyance

your browser is stalking you.

this website is best viewed in browsers which do not implement the Topics API, such as Firefox.