Edric Li
90798f14b5
feat(api-key): add IP whitelist/blacklist restriction and usage log IP tracking
...
- Add IP restriction feature for API keys (whitelist/blacklist with CIDR support)
- Add IP address logging to usage logs (admin-only visibility)
- Remove billing_type column from usage logs UI (redundant)
- Use generic "Access denied" error message for security
Backend:
- New ip package with IP/CIDR validation and matching utilities
- Database migrations for ip_whitelist, ip_blacklist (api_keys) and ip_address (usage_logs)
- Middleware IP restriction check after API key validation
- Input validation for IP/CIDR patterns on create/update
Frontend:
- API key form with enable toggle for IP restriction
- Shield icon indicator in table for keys with IP restriction
- Removed billing_type filter and column from usage views
2026-01-09 21:24:59 +08:00
..
2026-01-04 19:28:20 +08:00
2026-01-07 16:59:35 +08:00
2026-01-04 19:28:20 +08:00
2026-01-03 06:37:08 -08:00
2026-01-03 06:37:08 -08:00
2026-01-04 19:28:20 +08:00
2026-01-04 19:28:20 +08:00
2026-01-09 21:24:59 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-03 06:36:35 -08:00
2026-01-04 22:10:32 +08:00
2026-01-04 21:06:12 +08:00
2026-01-03 10:52:24 +08:00
2026-01-01 04:01:51 +08:00
2026-01-03 06:32:51 -08:00
2026-01-03 06:32:51 -08:00
2025-12-31 23:42:01 +08:00
2025-12-31 23:42:01 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-05 22:24:24 +08:00
2025-12-31 23:42:01 +08:00
2026-01-04 19:28:20 +08:00
2026-01-08 23:25:05 +08:00
2026-01-08 23:07:00 +08:00
2025-12-30 16:41:45 +08:00
2026-01-04 15:36:00 +08:00
2025-12-26 00:11:03 -08:00
2025-12-31 08:50:12 +08:00
2026-01-07 23:15:20 +08:00
2026-01-07 23:15:20 +08:00
2025-12-31 14:11:57 +08:00
2026-01-08 23:07:00 +08:00
2026-01-04 11:43:58 +08:00
2026-01-04 21:06:12 +08:00
2026-01-05 13:54:43 +08:00
2025-12-25 17:15:01 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2026-01-03 06:36:35 -08:00
2025-12-31 23:42:01 +08:00
2025-12-31 18:24:39 -08:00
2026-01-05 14:07:33 +08:00
2026-01-03 06:36:35 -08:00
2025-12-31 08:50:12 +08:00
2025-12-26 16:45:40 +08:00
2026-01-07 23:15:20 +08:00
2026-01-07 23:15:20 +08:00
2026-01-04 21:06:12 +08:00
2026-01-06 11:36:38 +08:00
2025-12-29 19:23:49 +08:00
2026-01-08 21:20:12 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2025-12-26 16:47:44 +08:00
2025-12-29 19:23:49 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 23:42:01 +08:00
2025-12-31 23:42:01 +08:00
2025-12-31 14:51:58 +08:00
2025-12-31 15:52:02 +08:00
2025-12-29 10:03:27 +08:00
2026-01-04 19:28:20 +08:00
2025-12-30 17:13:32 +08:00
2026-01-03 06:34:00 -08:00
2026-01-03 06:36:35 -08:00
2026-01-03 10:52:24 +08:00
2025-12-25 16:01:17 +08:00
2025-12-25 17:15:01 +08:00
2026-01-04 19:28:20 +08:00
2026-01-09 21:24:59 +08:00
2026-01-01 19:09:06 +08:00
2026-01-05 19:03:54 +08:00
2026-01-05 18:48:49 +08:00
2025-12-31 22:48:35 +08:00
2025-12-31 22:48:35 +08:00
2026-01-07 23:15:20 +08:00