
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
Helmet, CORS, rate limiting, การทำความสะอาดอินพุต, SQL injection, XSS, CSRF
1Helmet คืออะไรในบริบทของ NestJS?
Helmet คืออะไรในบริบทของ NestJS?
คำตอบ
Helmet เป็น middleware ที่กำหนดค่า HTTP security headers โดยอัตโนมัติเพื่อปกป้องแอปพลิเคชันจากช่องโหว่ที่พบบ่อย โดยจะเปิดใช้งาน header อย่าง X-Frame-Options, Content-Security-Policy, X-Content-Type-Options เพื่อป้องกัน XSS, clickjacking และ MIME sniffing Helmet เป็นแนวทางปฏิบัติที่ดีที่สุดที่จำเป็นในการใช้งานจริงเพื่อเสริมความแข็งแกร่งให้กับพื้นผิวด้านความปลอดภัย
2บทบาทหลักของ CORS ใน API คืออะไร?
บทบาทหลักของ CORS ใน API คืออะไร?
คำตอบ
CORS (Cross-Origin Resource Sharing) ควบคุมว่าโดเมนภายนอกใดบ้างที่สามารถเข้าถึงทรัพยากรของ API ได้ หากไม่มีการกำหนดค่า CORS เบราว์เซอร์จะบล็อกคำขอที่มาจากโดเมนต่างกันด้วยเหตุผลด้านความปลอดภัย การกำหนดค่า CORS อย่างถูกต้องช่วยป้องกันข้อผิดพลาดในการเข้าถึงในขณะที่ยังคงรักษาความปลอดภัยไว้ ควรใช้ whitelist ของ origin ที่อนุญาตแทนที่จะอนุญาตทุกโดเมนด้วย wildcard
3แนวทางที่ดีที่สุดในการปกป้อง API จากการโจมตีแบบ brute force คืออะไร?
แนวทางที่ดีที่สุดในการปกป้อง API จากการโจมตีแบบ brute force คืออะไร?
คำตอบ
rate limiting จำกัดจำนวนคำขอต่อ IP หรือต่อผู้ใช้ในช่วงเวลาที่กำหนด ป้องกันการโจมตีแบบ brute force อัตโนมัติ แพ็กเกจอย่าง throttler-module ใน NestJS ช่วยให้กำหนดค่าขีดจำกัดแบบ global หรือต่อ endpoint ได้อย่างง่ายดาย ควรผสมผสาน rate limiting กับกลยุทธ์แบบเพิ่มขึ้นทีละขั้น (การบล็อกชั่วคราวที่เพิ่มขึ้น) และ CAPTCHA สำหรับ endpoint ที่อ่อนไหว นอกจากนี้ rate limiting ยังป้องกันการโจมตีแบบ denial of service อีกด้วย
การโจมตีแบบ XSS (Cross-Site Scripting) คืออะไร?
จะปกป้องแอปพลิเคชัน NestJS จาก SQL injection ได้อย่างไร?
+22 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Node.js / NestJS อื่นๆ
พื้นฐาน Node.js
Core API ของ Node.js
การเขียนโปรแกรมแบบอะซิงโครนัส
พื้นฐาน Express.js
พื้นฐาน NestJS
การออกแบบ REST API
การตรวจสอบความถูกต้องและ DTO
เอกสาร API และ Contract
การจัดการข้อผิดพลาด
การทดสอบหน่วย (Unit Testing)
การจัดตารางงาน
Module และ DI ของ NestJS
การกำหนดค่าและการจัดการสภาพแวดล้อม
การยืนยันตัวตนด้วย JWT
การให้สิทธิ์และ RBAC
ฐานข้อมูลด้วย TypeORM
Prisma ORM
Middleware และ Interceptor
การอัปโหลดไฟล์
WebSockets
GraphQL กับ NestJS
การทดสอบแบบ End-to-End
การแคชด้วย Redis
คิวด้วย Bull
DevOps, Logging และ CI/CD
Docker และ Containerization
ไมโครเซอร์วิส
ประสิทธิภาพและการ Deploy บน Cloud
เชี่ยวชาญ Node.js / NestJS สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี