Unrestricted Resource Consumption
🎯 Mục tiêu học: hiểu vì sao thiếu giới hạn (rate limit, kích thước dữ liệu) khiến API dễ bị lạm dụng, gây tốn tài nguyên hoặc từ chối dịch vụ (DoS) — trước đây gọi là "Lack of Resources & Rate Limiting".
Rủi ro là gì
API không giới hạn: số lần gọi trong 1 khoảng thời gian, kích thước payload gửi lên, số lượng bản ghi trả về (limit phân trang). Kẻ tấn công (hoặc đơn giản là 1 client lỗi) có thể khai thác để làm chậm hoặc sập hệ thống, hay kéo toàn bộ dữ liệu chỉ bằng 1 request.
Checklist kiểm tra
Rate limiting
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-URC-01 | Gọi liên tục cùng 1 API hàng trăm lần trong vài giây | Sau ngưỡng nhất định, API trả 429 Too Many Requests kèm header Retry-After, không cho gọi vô hạn |
Giới hạn kích thước dữ liệu
| Mã TC | Nội dung | Kỳ vọng |
|---|---|---|
| TC-URC-02 | Gửi body request cực lớn (vd vài MB text trong 1 field) | Bị từ chối với lỗi rõ ràng (413 Payload Too Large), không làm treo server |
| TC-URC-03 | Gửi limit phân trang cực lớn (vd limit=999999) như đã đề cập ở Mục 2.2 | Server tự giới hạn ở mức tối đa hợp lý (vd 100), không trả toàn bộ dữ liệu trong 1 lần |
📌 Ghi nhớ
Đây là hạng mục liên kết trực tiếp với Chương 5 (Performance Testing) — Load/Stress test không chỉ đo "hệ thống chịu được bao nhiêu tải" mà còn phải xác nhận có cơ chế TỪ CHỐI hợp lý khi vượt ngưỡng, thay vì cứ cố xử lý tới khi sập.
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| Rate limiting | Giới hạn tần suất gọi API trong 1 khoảng thời gian |
| 429 Too Many Requests | Status code chuẩn khi client vượt quá giới hạn tần suất |
| DoS (Denial of Service) | Từ chối dịch vụ — hệ thống không thể phục vụ do bị quá tải |
📎 Nội dung do maiqai.com biên soạn dựa trên OWASP API Security Top 10 (2023, CC BY-SA 4.0), diễn giải lại bằng tiếng Việt kèm ví dụ minh hoạ riêng.