Node.js / NestJS

Các phương pháp bảo mật tốt nhất

Helmet, CORS, rate limiting, làm sạch đầu vào, SQL injection, XSS, CSRF

25 câu hỏi phỏng vấn·
Senior
1

Helmet là gì trong ngữ cảnh của NestJS?

Câu trả lời

Helmet là một middleware tự động cấu hình các header bảo mật HTTP để bảo vệ ứng dụng khỏi các lỗ hổng phổ biến. Nó kích hoạt các header như X-Frame-Options, Content-Security-Policy, X-Content-Type-Options để ngăn chặn XSS, clickjacking và MIME sniffing. Helmet là một phương pháp tốt nhất thiết yếu trong môi trường production để tăng cường bề mặt bảo mật.

2

Vai trò chính của CORS trong một API là gì?

Câu trả lời

CORS (Cross-Origin Resource Sharing) kiểm soát những domain bên ngoài nào có thể truy cập tài nguyên của API. Nếu không cấu hình CORS, trình duyệt sẽ chặn các request đến từ những domain khác vì lý do bảo mật. Cấu hình CORS đúng cách giúp tránh lỗi truy cập trong khi vẫn duy trì bảo mật. Hãy dùng whitelist các origin được phép thay vì cho phép tất cả domain bằng wildcard.

3

Cách tiếp cận tốt nhất để bảo vệ một API khỏi các cuộc tấn công brute force là gì?

Câu trả lời

Rate limiting giới hạn số lượng request theo mỗi IP hoặc người dùng trong một khoảng thời gian nhất định, ngăn chặn các cuộc tấn công brute force tự động. Các package như throttler-module trong NestJS cho phép dễ dàng cấu hình giới hạn toàn cục hoặc theo từng endpoint. Hãy kết hợp rate limiting với các chiến lược tăng dần (thời gian chặn tạm thời tăng lên) và CAPTCHA cho các endpoint nhạy cảm. Rate limiting cũng bảo vệ chống lại tấn công từ chối dịch vụ (DoS).

4

Tấn công XSS (Cross-Site Scripting) là gì?

5

Làm thế nào để bảo vệ một ứng dụng NestJS chống lại SQL injection?

+22 câu hỏi phỏng vấn

Nắm vững Node.js / NestJS cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí