
Zaštita od scrapera koji skeniraju osjetljive varijable
Svaki developer koji javno vrti web stranicu zna za ovaj problem: automatizirani botovi i scanneri svakodnevno pretražuju root direktorije u potrazi za .env datotekama. Nadaju se da je netko bio neoprezan i ostavio produkcijske ključeve otključanima.
Standardna praksa je vratiti 404 Not Found ili 403 Forbidden. No, zašto ne bismo otišli korak dalje i malo se zabavili na njihov račun?
Zamka (Honeypot) na serveru
Umjesto vraćanja dosadnih grešaka, postavio sam hook. Kad god bot pokuša pristupiti datotekama poput /.env, /.env.local, ili /.env.production, server ih ne odbija.
Nego im daje lažni .env s uvjerljivim, ali lažnim podacima:
- Lažnim Stripe ključevima (
sk_live_...) - OpenAI, Resend, i Pinecone tokenima
- AWS pristupnim ključevima (
AKIA...) - PostgreSQL adresom koja vodi na nepostojeću AWS RDS instancu.
Kada bot pokuša iskoristiti ove ključeve ili se spojiti na bazu, skripta mu nailazi na stalne timeout greške i neuspješne autorizacije, trošeći resurse i vrijeme onoga tko ju je pokrenuo.
Zezanje s robots.txt
Kako bi zamka bila još slađa, dodao sam zabranu u robots.txt datoteku:
User-agent: *
Allow: /
# only evil scanners will visit this route!
Disallow: /.env
Disallow: /.env.local
...
Pogledajte sami: https://grgurevic.click/.env
