ทีมต้องป้องกันการอัปโหลดไฟล์อันตรายและการหลุดออกนอกไดเรกทอรี จึงถามว่า เว็บแอปพลิเคชันต้องการส่งอีเมลยืนยันการสมัครสมาชิกให้ผู้ใช้ แต่กระบวนการส่งอีเมลใช้เวลานานถึง 5 วินาที ทำให้ผู้ใช้ต้องรอนานก่อนได้รับการตอบสนองจากระบบ วิธีใดเหมาะสมที่สุดในการแก้ไขปัญหานี้
กเพิ่มความเร็วเซิร์ฟเวอร์และหน่วยความจำ RAM ให้มากขึ้น เพื่อให้กระบวนการส่งอีเมลเสร็จสิ้นภายใน 1 วินาที
ขใช้ Message Queue เพื่อนำงานส่งอีเมลออกไปประมวลผลในเบื้องหลัง (Background Processing) แยกออกจากการตอบสนองผู้ใช้
คให้ผู้ใช้กรอกอีเมลซ้ำอีกครั้งเพื่อยืนยัน แล้วจึงเริ่มกระบวนการส่งอีเมลหลังจากผู้ใช้ยืนยันข้อมูลครบถ้วน
งลดขนาดเนื้อหาในอีเมลยืนยันให้สั้นลงและตัดภาพหรือ HTML ออก เพื่อให้กระบวนการส่งอีเมลใช้เวลาน้อยลง
เฉลยอธิบาย
การใช้ Message Queue เช่น RabbitMQ หรือ Redis Queue ช่วยให้ระบบรับคำขอสมัครสมาชิกและตอบกลับผู้ใช้ทันที โดยนำงานส่งอีเมลไปประมวลผลใน Background Worker แยกต่างหาก ผู้ใช้จึงไม่ต้องรอ 5 วินาที ซึ่งเป็นแนวทางมาตรฐานสำหรับงานที่ใช้เวลานานใน Web Application ส่วนตัวเลือกอื่นไม่ได้แก้ปัญหาที่แท้จริง เพราะการเพิ่ม RAM ไม่ได้ลดเวลาส่งอีเมลที่ขึ้นอยู่กับเครือข่ายและเซิร์ฟเวอร์ปลายทาง การให้กรอกข้อมูลซ้ำเพิ่มขั้นตอนโดยไม่จำเป็น และการลดเนื้อหาอีเมลก็ไม่สามารถลดเวลาได้อย่างมีนัยสำคัญ ฐานความปลอดภัยปัจจุบัน: OWASP Top 10:2025 — https://owasp.org/Top10/