seedproject-web/api/app
Carlos Arias 3f69000d27 feat: never throttle trusted server-local callers + harden session cookie
Two self-contained framework fixes, no schema dependencies:

- throttle(): exempt trusted callers via new Functions::isTrustedIp() — loopback, the
  server's own IP, and an optional TRUSTED_IPS config allowlist (IPs/CIDRs). Fixes the SSG
  build (which fetches the read API from the box thousands of times per build) tripping the
  public rate limit and baking empty data into the deploy. Public client IPs stay limited.
- public/index.php: set secure session cookie params (httponly, SameSite=Lax, secure on
  https) before session_start, so session/login state rides on a hardened cookie.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FMQeUnUrAeexcZ7P2Hxa6G
2026-07-11 09:01:49 -05:00
..
Components chore: scaffold SeedProject base (Phase 1) 2026-07-04 22:53:10 +00:00
Controllers feat: never throttle trusted server-local callers + harden session cookie 2026-07-11 09:01:49 -05:00
Core chore: scaffold SeedProject base (Phase 1) 2026-07-04 22:53:10 +00:00
Gateways chore: scaffold SeedProject base (Phase 1) 2026-07-04 22:53:10 +00:00
Helpers feat: never throttle trusted server-local callers + harden session cookie 2026-07-11 09:01:49 -05:00
LLM chore: scaffold SeedProject base (Phase 1) 2026-07-04 22:53:10 +00:00
Services feat(api): Foundation — installer, migrations, two-tier auth, health round-trip 2026-07-04 23:23:51 +00:00