บล็อก
ความปลอดภัยAPIBackend

API REST ที่ปลอดภัยในปี 2026: แนวทางปฏิบัติที่ดี

5 เสาหลักของ API REST ที่ปลอดภัย: การยืนยันตัวตน JWT, rate limiting, CORS, การตรวจสอบข้อมูล และ logging

12 เมษายน 2569อ่าน 7 นาที

ความปลอดภัยของ API กลายเป็นเรื่องสำคัญอย่างยิ่ง 83% ของการโจมตีเว็บมุ่งเป้าไปที่ API แทนที่จะเป็นส่วนติดต่อผู้ใช้ นี่คือ 5 เสาหลักของ API REST ที่ปลอดภัยในปี 2026

1. การยืนยันตัวตน JWT

JSON Web Tokens ยังคงเป็นมาตรฐานสำหรับการยืนยันตัวตนแบบ stateless กฎสำคัญ:

  • อัลกอริทึม HS256 ขั้นต่ำ: อย่าใช้ "none" หรือ RS256 โดยไม่หมุนเวียนกุญแจ
  • หมดอายุเร็ว: 15 นาทีสำหรับ access token, 7 วันสำหรับ refresh token
  • Claims น้อยที่สุด: ใส่แค่ ID ผู้ใช้และบทบาท

typescript
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 และต่อผู้ใช้:

typescript
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:

typescript
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 ชั่วโมง

มาคุยเรื่องโปรเจกต์ของคุณ