move_detect/cloud
유창욱 171ef3e1c5 fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2)
ConfigController::get and HeartbeatController::post verified HMAC but never
checked nonce replay or timestamp freshness, so a captured signed request
(e.g. a replayed heartbeat) could be replayed forever, masking a dead
device. Inject NonceRepository (+Config) into both and add the same
timestamp-window + nonce-remember checks IngestController already applies,
after HMAC verification and before the response/side effect.
2026-07-12 09:19:32 +09:00
..
docs feat(cloud): PDO repositories + schema + Cafe24 deploy doc 2026-07-12 01:58:05 +09:00
public fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2) 2026-07-12 09:19:32 +09:00
src fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2) 2026-07-12 09:19:32 +09:00
tests fix(cloud): add nonce-replay + timestamp-window checks to config/heartbeat (M2) 2026-07-12 09:19:32 +09:00
.gitignore feat(cloud): P1-B scaffold — composer autoload + Config 2026-07-11 23:16:13 +09:00
composer.json feat(cloud): session store + auth controller with lockout 2026-07-12 00:28:18 +09:00
composer.lock fix(cloud): centralize test-double autoloading via composer files 2026-07-11 23:38:01 +09:00
config.example.php feat(cloud): P1-B scaffold — composer autoload + Config 2026-07-11 23:16:13 +09:00
phpunit.xml feat(cloud): P1-B scaffold — composer autoload + Config 2026-07-11 23:16:13 +09:00
schema.sql feat(cloud): PDO repositories + schema + Cafe24 deploy doc 2026-07-12 01:58:05 +09:00