Disparpora Lampung Timur
A public portal for Dinas Pariwisata, Pemuda dan Olahraga (Disparpora) of East Lampung Regency, built to replace a stock template with something worth visiting — and to keep running while the open internet probes it around the clock.
- 4,432
- Visitors to Date
- 86
- Attacks Blocked in 24h
- 24
- Hostile IPs Auto-Banned
Like most regional government sites, the old portal ran on an off-the-shelf template: generic layout, awkward on phones, and no protection beyond whatever the host provided. Public sector domains are scanned continuously by automated bots hunting for WordPress logins, exposed .env files and leftover PHP shells, and the site had no way to see it happening, let alone stop it.
We rebuilt the portal on Next.js with an Express service layer over Supabase and PostgreSQL, designing it mobile-first rather than adapting a desktop template. On top of it sits a request monitor that classifies suspicious paths — PHP shells, WordPress probes, .git and .env exposure, config leaks, path traversal — and bans any address that trips five of them inside ten minutes. Every event is logged with its origin, so the office can see exactly what is being attempted and from where.
- Next.js
- Express
- Supabase
- PostgreSQL
The site finally looks like it belongs to a tourism office rather than a generic government template, and it works properly on a phone. The security dashboard was the part we did not know we needed until we saw how much gets blocked every day.







