Tier 3 security + Tier 8 bug cleanup batch

Featurekamolos
已装运
2026年5月29日 00:04 UTC
作者
Kamo
提交
81f1163

T3 — Security: - New RateLimitFilter (Bucket4j): 1000/min per IP for webhooks, 10/min per session for offer accept/decoder/rescind, 60/min general. Registered ahead of ProxyHmacFilter so abuse hits the bucket before cryptographic verification cost. - SecurityConfig adds HSTS + frameOptions(DENY) + contentTypeOptions via Spring Security HeaderWriter. - StripeConfig fails fast on prod profile with non-live key. T8 — Bug cleanup: - **************** looks up Loan.productIdSnapshot → LoanProduct.feeNsfFlat instead of hard-coded $25. $25 remains the fallback when product or fee is missing. - **************** gains an AdjustmentTarget field (PRINCIPAL / INTEREST / FEES). manualAdjust dispatches per target rather than always touching principal. Audit metadata now records which counter was touched. - **************** finds the most recent ACTIVE *or* PAUSED plan and reactivates it instead of creating a new row that orphans paused ones. - **************** typed FetchResult record with status (OK / NOT_FOUND / UNREACHABLE / UNCONFIGURED). fetchBlob(uid) preserved as legacy bytes-or-null adapter.

所有更改

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价