API REST ที่ปลอดภัยในปี 2026: แนวทางปฏิบัติที่ดี
5 เสาหลักของ API REST ที่ปลอดภัย: การยืนยันตัวตน JWT, rate limiting, CORS, การตรวจสอบข้อมูล และ logging
ความปลอดภัยของ API กลายเป็นเรื่องสำคัญอย่างยิ่ง 83% ของการโจมตีเว็บมุ่งเป้าไปที่ API แทนที่จะเป็นส่วนติดต่อผู้ใช้ นี่คือ 5 เสาหลักของ API REST ที่ปลอดภัยในปี 2026
1. การยืนยันตัวตน JWT
JSON Web Tokens ยังคงเป็นมาตรฐานสำหรับการยืนยันตัวตนแบบ stateless กฎสำคัญ:
- อัลกอริทึม HS256 ขั้นต่ำ: อย่าใช้ "none" หรือ RS256 โดยไม่หมุนเวียนกุญแจ
- หมดอายุเร็ว: 15 นาทีสำหรับ access token, 7 วันสำหรับ refresh token
- Claims น้อยที่สุด: ใส่แค่ ID ผู้ใช้และบทบาท
const token = jwt.sign(
{ sub: user.id, role: user.role },
process.env.JWT_SECRET,
{ algorithm: 'HS256', expiresIn: '15m' }
);อย่าเก็บ JWT ใน localStorage ใช้ cookie แบบ HttpOnly, Secure, SameSite=Strict แทน
2. Rate Limiting
ปกป้อง endpoint จากการใช้งานในทางที่ผิดด้วย rate limiter ต่อ IP และต่อผู้ใช้:
const rateLimiter = {
windowMs: 15 * 60 * 1000,
max: 100,
standardHeaders: true,
legacyHeaders: false,
};ใช้ขีดจำกัดที่เข้มงวดกว่าสำหรับ endpoint ที่สำคัญ: login (5 ครั้ง/15นาที), สร้างบัญชี (3/ชั่วโมง), รีเซ็ตรหัสผ่าน (3/ชั่วโมง)
3. CORS ที่เข้มงวด
กำหนดค่า CORS ด้วย allowlist ที่ชัดเจน อย่าใช้ wildcard (*) ใน production:
- origin: รายการโดเมนที่อนุญาตเท่านั้น
- methods: จำกัดเฉพาะ method ที่จำเป็น (GET, POST, PUT, DELETE)
- credentials: true เฉพาะเมื่อใช้ cookie
4. การตรวจสอบข้อมูลนำเข้า
ตรวจสอบทุกข้อมูลด้วย schema ที่เข้มงวด Zod ใน TypeScript, Pydantic ใน Python:
const createUserSchema = z.object({
email: z.string().email().max(255),
name: z.string().min(2).max(100),
password: z.string().min(12).max(128),
});- ปฏิเสธทุกอย่างที่ไม่ได้อนุญาตอย่างชัดเจน
- Escape ผลลัพธ์ เพื่อป้องกัน XSS
- ใช้ parameterized query เพื่อป้องกัน SQL injection
5. Logging และ Monitoring
บันทึกทุก request ด้วยข้อมูลสำคัญ โดยไม่มีข้อมูลที่อ่อนไหว:
- Timestamp, method, path, status code, ระยะเวลา
- IP ต้นทาง (สำหรับ rate limiting และตรวจจับการใช้งานในทางที่ผิด)
- ห้ามบันทึก: รหัสผ่าน, token, ข้อมูลส่วนบุคคล
สรุป
ความปลอดภัยของ API ไม่ใช่ทางเลือก 5 เสาหลักเหล่านี้ — JWT, rate limiting, CORS, การตรวจสอบข้อมูล, logging — เป็นรากฐานขั้นต่ำสำหรับ API ระดับมืออาชีพในปี 2026
มีโปรเจกต์ที่กล้าหาญในใจหรือไม่?
มาคุยเรื่องแนวคิดของคุณ ผมจะติดต่อกลับไปในเวลาไม่เกิน 24 ชั่วโมง
มาคุยเรื่องโปรเจกต์ของคุณ →