Server Security Checklist
Use this after installing or updating server files.
phpVMS 7
GET /api/dotacars/statusreturnsmode: native_module.- Admin > dotACARS opens and saves settings.
- phpVMS 7 settings are not stored in
va_config.php;dotacars_configis the module configuration table. - Old
public/acars/*.phpfiles are removed. modules/DotAcarsis not browseable by URL.- No sessions, logs, cache, reports,
.env,.ini,.sql,.bak,.zip,.taror.gzfiles are inpublic. - Requests without a dotACARS session token are rejected.
- Invalid coordinates and incomplete requests are rejected.
- Finish submits PIREPs through phpVMS services and fires phpVMS events/listeners.
phpVMS 5
GET /acars/bootstrap.phpresponds and/acars/status.phpreports version1.2.0.GET /acars/sessions/,/acars/reports/,/acars/logs/and/acars/cache/are blocked.va_config.phpand_dotacars_common.phpare blocked.- Directory listing is disabled.
cleanup_live.phpand all obsolete/debug/test endpoints are absent.- Runtime data is outside the webroot, or the deny-all fallback was verified.
- Invalid login attempts are rate limited.
- Invalid sessions and invalid position data are rejected.
- BID, position and PIREP requests cannot change the authenticated pilot.
- PIREP logs are stored as plain text, not executable HTML.
- No debug, diagnostic, test or backup files are public.
General
- HTTPS is enabled.
- Only the required folder for the matching phpVMS version was uploaded.
- Server logs do not contain passwords or full session tokens.
- The desktop app is configured with the crew center base URL, not an endpoint URL.
- For phpVMS 7, leave client-token enforcement disabled unless the VA has distributed the matching token to every desktop client.