Mintalah sebuah direktori yang tak punya berkas indeks, dan banyak server justru menampilkan daftar berkasnya. Cadangan, hasil ekspor, salinan lama sebuah berkas pengaturan — apa pun yang tergeletak di sana kini terbuka untuk umum, dan pemindai otomatis mencari persis hal itu.

Nginx

autoindex off;      # the default, so check nobody turned it on
grep -rn autoindex /etc/nginx/

Apache dan LiteSpeed

Options -Indexes

# or per directory, in .htaccess
Options -Indexes

Periksa setiap direktori, bukan hanya akarnya

for d in uploads backup files export logs tmp; do
  printf '%-10s ' "$d"
  curl -sS -o /dev/null -w '%{http_code}\
' "https://yourdomain.com/$d/"
done

Angka 200 pada salah satunya layak Anda buka di peramban sekarang juga. Yang Anda inginkan adalah 403 atau 404.

Berkas indeks kosong adalah perbaikan yang lemah

Menaruh index.html di tiap folder menyembunyikan daftarnya, dan berkasnya tetap bisa dicapai lewat nama. Itu hanya menahan pandangan sekilas, tidak lebih — matikanlah pilihan itu di servernya.

Jawaban sebenarnya untuk berkas pribadi

Apa pun yang tidak seharusnya terbuka untuk umum tidak boleh berada di bawah akar dokumen sama sekali. Simpan di luar dan sajikan lewat skrip yang memeriksa siapa yang meminta.

/var/www/site/
  public/      <- the document root
  storage/     <- backups, exports, logs: no URL can reach these
Selagi Anda memeriksa, carilah berkas yang biasa ditinggalkan orang: .env, .git, config.php.bak, database.sql. Cadangan kode yang tertinggal di akar web pernah membocorkan aplikasi utuh — mintalah satu per satu dan pastikan tidak ada di sana.