Node.js / NestJS

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

Helmet, CORS, rate limiting, การทำความสะอาดอินพุต, SQL injection, XSS, CSRF

25 คำถามสัมภาษณ์·
Senior
1

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 (Cross-Origin Resource Sharing) ควบคุมว่าโดเมนภายนอกใดบ้างที่สามารถเข้าถึงทรัพยากรของ API ได้ หากไม่มีการกำหนดค่า CORS เบราว์เซอร์จะบล็อกคำขอที่มาจากโดเมนต่างกันด้วยเหตุผลด้านความปลอดภัย การกำหนดค่า CORS อย่างถูกต้องช่วยป้องกันข้อผิดพลาดในการเข้าถึงในขณะที่ยังคงรักษาความปลอดภัยไว้ ควรใช้ whitelist ของ origin ที่อนุญาตแทนที่จะอนุญาตทุกโดเมนด้วย wildcard

3

แนวทางที่ดีที่สุดในการปกป้อง API จากการโจมตีแบบ brute force คืออะไร?

คำตอบ

rate limiting จำกัดจำนวนคำขอต่อ IP หรือต่อผู้ใช้ในช่วงเวลาที่กำหนด ป้องกันการโจมตีแบบ brute force อัตโนมัติ แพ็กเกจอย่าง throttler-module ใน NestJS ช่วยให้กำหนดค่าขีดจำกัดแบบ global หรือต่อ endpoint ได้อย่างง่ายดาย ควรผสมผสาน rate limiting กับกลยุทธ์แบบเพิ่มขึ้นทีละขั้น (การบล็อกชั่วคราวที่เพิ่มขึ้น) และ CAPTCHA สำหรับ endpoint ที่อ่อนไหว นอกจากนี้ rate limiting ยังป้องกันการโจมตีแบบ denial of service อีกด้วย

4

การโจมตีแบบ XSS (Cross-Site Scripting) คืออะไร?

5

จะปกป้องแอปพลิเคชัน NestJS จาก SQL injection ได้อย่างไร?

+22 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Node.js / NestJS อื่นๆ

พื้นฐาน Node.js

Junior
20 คำถาม

Core API ของ Node.js

Junior
25 คำถาม

การเขียนโปรแกรมแบบอะซิงโครนัส

Junior
25 คำถาม

พื้นฐาน Express.js

Junior
20 คำถาม

พื้นฐาน NestJS

Junior
23 คำถาม

การออกแบบ REST API

Junior
20 คำถาม

การตรวจสอบความถูกต้องและ DTO

Junior
20 คำถาม

เอกสาร API และ Contract

Junior
20 คำถาม

การจัดการข้อผิดพลาด

Junior
20 คำถาม

การทดสอบหน่วย (Unit Testing)

Junior
20 คำถาม

การจัดตารางงาน

Junior
15 คำถาม

Module และ DI ของ NestJS

Mid-Level
20 คำถาม

การกำหนดค่าและการจัดการสภาพแวดล้อม

Mid-Level
20 คำถาม

การยืนยันตัวตนด้วย JWT

Mid-Level
25 คำถาม

การให้สิทธิ์และ RBAC

Mid-Level
20 คำถาม

ฐานข้อมูลด้วย TypeORM

Mid-Level
30 คำถาม

Prisma ORM

Mid-Level
25 คำถาม

Middleware และ Interceptor

Mid-Level
20 คำถาม

การอัปโหลดไฟล์

Mid-Level
15 คำถาม

WebSockets

Mid-Level
20 คำถาม

GraphQL กับ NestJS

Mid-Level
25 คำถาม

การทดสอบแบบ End-to-End

Mid-Level
20 คำถาม

การแคชด้วย Redis

Mid-Level
20 คำถาม

คิวด้วย Bull

Mid-Level
20 คำถาม

DevOps, Logging และ CI/CD

Mid-Level
25 คำถาม

Docker และ Containerization

Mid-Level
25 คำถาม

ไมโครเซอร์วิส

Senior
30 คำถาม

ประสิทธิภาพและการ Deploy บน Cloud

Senior
30 คำถาม

เชี่ยวชาญ Node.js / NestJS สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี