# Các phương pháp bảo mật tốt nhất (Node.js / NestJS) > 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 - [Câu hỏi phỏng vấn: Node.js / NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van.md) ## 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). ## Còn 22 câu hỏi nữa - Tấn công XSS (Cross-Site Scripting) là gì? - Làm thế nào để bảo vệ một ứng dụng NestJS chống lại SQL injection? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Node.js / NestJS khác - [Kiến thức cơ bản về Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-fundamentals.md): 20 câu hỏi, Junior - [API lõi Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-core-apis.md): 25 câu hỏi, Junior - [Lập trình bất đồng bộ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/asynchronous-programming.md): 25 câu hỏi, Junior - [Cơ bản về Express.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/express-basics.md): 20 câu hỏi, Junior - [Nền tảng NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-fundamentals.md): 23 câu hỏi, Junior - [Thiết kế REST API](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Junior - [Validation và DTO](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/validation-dto.md): 20 câu hỏi, Junior - [Tài liệu API & Hợp đồng](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/api-documentation.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Kiểm thử đơn vị](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-unit.md): 20 câu hỏi, Junior - [Lập lịch tác vụ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/scheduling-cron.md): 15 câu hỏi, Junior - [Module và DI trong NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-modules-di.md): 20 câu hỏi, Mid-Level - [Cấu hình & Quản lý môi trường](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/configuration-environment.md): 20 câu hỏi, Mid-Level - [Xác thực JWT](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authentication-jwt.md): 25 câu hỏi, Mid-Level - [Phân quyền và RBAC](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authorization-rbac.md): 20 câu hỏi, Mid-Level - [Cơ sở dữ liệu với TypeORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/database-typeorm.md): 30 câu hỏi, Mid-Level - [Prisma ORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/prisma-orm.md): 25 câu hỏi, Mid-Level - [Middleware và Interceptor](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/middleware-interceptors.md): 20 câu hỏi, Mid-Level - [Tải lên tệp](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/file-upload.md): 15 câu hỏi, Mid-Level - [WebSockets](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/websockets.md): 20 câu hỏi, Mid-Level - [GraphQL với NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/graphql-basics.md): 25 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-e2e.md): 20 câu hỏi, Mid-Level - [Caching với Redis](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/caching-redis.md): 20 câu hỏi, Mid-Level - [Hàng đợi với Bull](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/queues-bull.md): 20 câu hỏi, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/logging-monitoring.md): 25 câu hỏi, Mid-Level - [Docker & Đóng gói container](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/docker-containerization.md): 25 câu hỏi, Mid-Level - [Microservices](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/microservices.md): 30 câu hỏi, Senior - [Hiệu năng và triển khai Cloud](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/security-best-practices