ทีมพัฒนาได้รับข้อกำหนดเว็บที่ต้องปลอดภัย รองรับการขยาย และบำรุงรักษาได้ จึงพิจารณาว่า ในเว็บแอปพลิเคชัน Single Page Application (SPA) ที่ใช้ JWT (JSON Web Token) สำหรับการยืนยันตัวตน ข้อสงสัยเกี่ยวกับการจัดเก็บ Token ในฝั่ง Client คืออะไร

ควรจัดเก็บใน LocalStorage เพื่อให้ข้อมูล Persist ระหว่าง Session
ควรจัดเก็บใน SessionStorage เพื่อให้ข้อมูลลบออกเมื่อปิดเบราว์เซอร์
ควรจัดเก็บใน Memory หรือใช้ httpOnly Cookie เพื่อลดความเสี่ยงจาก XSS Attack
ควรจัดเก็บใน Plain Text ใน HTML Attributes

เฉลยอธิบาย

JWT ควรจัดเก็บใน Memory (หากเป็นไปได้) หรือใช้ httpOnly Cookie ซึ่งไม่สามารถเข้าถึงจาก JavaScript ป้องกันจาก XSS Attack ตัวเลือก A (LocalStorage) เสี่ยงต่อ XSS เพราะสามารถเข้าถึงจาก JavaScript ตัวเลือก C ผิดเพราะ SessionStorage ก็เสี่ยง XSS เหมือนกัน ตัวเลือก D ผิดเพราะเป็นการเปิดช่องให้โจมตี

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

ดูข้อสอบวิชานี้ทั้งหมด →