move_detect/cloud/tests
유창욱 1187df5628 feat(delivery-audit): PIPA retention + cloud hardening (P3-2, P4-1..4)
- P3-2 [H] snapshot retention (7 days): snapshot_retention_days config;
  SnapshotRepository::purgeOlderThan (interface + Pdo + double, files-then-rows,
  bounded batch); opportunistic purge in the ingest path (Cafe24 has no cron).
- P4-1 [H] index.php sets display_errors=0 + a global exception handler → generic
  {"error":"internal"} + error_log (no DSN/db_user leak); ships www/move_detect/.user.ini.
- P4-2 [H] ConfigController + HeartbeatController take an optional rate limiter +
  clientIp; pre-auth per-IP anti-flood → 429 (were unthrottled).
- P4-3 [M] PdoNonceRepository::remember + PdoRateLimiterRepository::hit opportunistically
  reap expired rows (Cafe24 has no cron; tables grew unbounded).
- P4-4 [M] Router::dispatch rawurldecodes captured params (Korean/space camera_id could
  save zones but never load them).

Tests: python green; phpunit 84 green. See docs/delivery-audit.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Xmn8KZWqiQUguEMRtn6rW
2026-07-17 09:28:16 +09:00
..
Support feat(delivery-audit): PIPA retention + cloud hardening (P3-2, P4-1..4) 2026-07-17 09:28:16 +09:00
ApiSyncTest.php feat(delivery-audit): PIPA retention + cloud hardening (P3-2, P4-1..4) 2026-07-17 09:28:16 +09:00
AuthControllerTest.php fix(cloud): add per-IP rate limit to /login before Argon2id verify (H2) 2026-07-12 09:11:47 +09:00
BasePathTest.php feat(delivery-audit): PIPA retention + cloud hardening (P3-2, P4-1..4) 2026-07-17 09:28:16 +09:00
ConfigTest.php feat(cloud): P1-B scaffold — composer autoload + Config 2026-07-11 23:16:13 +09:00
DashboardTest.php fix(cloud): enforce CSRF on authenticated state-changing POSTs (M1) 2026-07-12 09:16:38 +09:00
EventValidatorTest.php fix(cloud): type-guard EventValidator fields against malformed input 2026-07-11 23:46:38 +09:00
HmacTest.php test(cloud): golden HMAC vectors proving P1-A Python interop 2026-07-11 23:25:15 +09:00
HttpTest.php feat(cloud): Http Request/Response primitives 2026-07-11 23:54:58 +09:00
ImageProcessorTest.php fix(cloud): session-id regeneration on login (fixation) + pristine test output 2026-07-12 00:35:41 +09:00
IngestControllerTest.php feat(delivery-audit): PIPA retention + cloud hardening (P3-2, P4-1..4) 2026-07-17 09:28:16 +09:00
PasswordCsrfTest.php feat(cloud): argon2id password + CSRF token helpers 2026-07-12 00:11:20 +09:00
PdoIntegrationTest.php feat(cloud): PDO repositories + schema + Cafe24 deploy doc 2026-07-12 01:58:05 +09:00
RbacTest.php feat(cloud): RBAC permission matrix 2026-07-12 00:19:47 +09:00
RepositoryContractTest.php fix(cloud): centralize test-double autoloading via composer files 2026-07-11 23:38:01 +09:00
RouterTest.php feat(cloud): path-param router + dispatch 2026-07-12 00:49:52 +09:00
WiringSmokeTest.php feat(cloud): incident detail view renders snapshot images 2026-07-12 11:48:55 +09:00
ZoneConfigTest.php fix(cloud): enforce CSRF on authenticated state-changing POSTs (M1) 2026-07-12 09:16:38 +09:00