9 Commits

Author SHA1 Message Date
myron 0238c38720 Add copyright notice 2026-07-27 04:55:21 +00:00
myron 6c7344ec52 Relocate config.php with plaintext secrets outside the webroot; add per-IP rate limiting to the unauthenticated testimonial image upload endpoint 2026-07-06 07:53:54 +00:00
myron 982a5dc5ff Harden .git/db block: use REQUEST_URI matching, direct RewriteRule patterns not reliably honored 2026-07-04 15:56:59 -05:00
myron 0dfcfa2f7e Fix security gaps and dead code found in codebase review
- mailer.php: re-enable TLS certificate verification for CyberMail API
  calls (was CURLOPT_SSL_VERIFYPEER => false, exposing outbound mail
  traffic to MITM).
- .htaccess / api/.htaccess: block direct HTTP access to .git/, db/,
  and api/config.php via mod_rewrite [F] rules. Confirmed live that
  /.git/config, /.git/logs/HEAD, and /db/schema.sql were all directly
  downloadable (200 OK with real content) - .git exposure leaks the
  repo's embedded GitHub token and full history; schema.sql leaks the
  DB layout. Also drops the dead "/setup -> setup_password.php" rewrite,
  since that file was already deleted from production.
- index.php: remove the 'download' route, which required a
  api/download.php that has never existed in this repo - confirmed
  live that GET /api/download returns a fatal 500.
- functions.php / upload.php / testimonials.php: extract the
  duplicated image-upload validation/move logic (MIME check, size
  check, UUID rename, move_uploaded_file) into one handleImageUpload()
  helper used by both upload endpoints.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 14:21:19 -05:00
myron ee699fccf7 Fix CyberMail payload format: flat string for from/to fields 2026-05-29 19:01:49 +00:00
myron 844167aad4 Switch email to CyberMail API (orbishosting.com domain) 2026-05-29 13:59:37 +00:00
myron 89f1faa167 Add DB schema (7 tables), epic + parkerslingshot vhost configs 2026-05-25 13:51:35 +00:00
myron 732ed43796 Security: remove phpinfo.php and setup_password.php from production 2026-05-22 13:05:16 +00:00
myron 0f11edc62e Initial commit 2026-05-22 12:52:45 +00:00