React / Next.js

React Bảo mật & Thực hành tốt nhất

Ngăn chặn XSS, bảo vệ CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitization

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

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

Câu trả lời

Tấn công XSS liên quan đến việc chèn mã JavaScript độc hại vào ứng dụng web để thực thi trong trình duyệt của người dùng khác. Kẻ tấn công khai thác các lỗ hổng validation hoặc escaping để đánh cắp cookie, session token hoặc thực hiện các hành động trái phép. React cung cấp bảo vệ gốc bằng cách tự động escape các giá trị JSX, nhưng vẫn còn lỗ hổng với dangerouslySetInnerHTML hoặc thao tác DOM trực tiếp.

2

React bảo vệ chống tấn công XSS theo mặc định như thế nào?

Câu trả lời

React tự động escape tất cả các giá trị được chèn qua JSX bằng cách chuyển đổi chúng thành văn bản thuần trước khi render. Bảo vệ này ngăn chặn thực thi script độc hại ngay cả khi mã HTML được chèn vào dữ liệu. Không giống innerHTML diễn giải và thực thi HTML, React xử lý các thẻ như văn bản thuần, khiến việc chèn JavaScript độc hại qua props hoặc state thông thường là không thể.

3

Tại sao dangerouslySetInnerHTML được coi là nguy hiểm trong React?

Câu trả lời

Thuộc tính này bỏ qua bảo vệ XSS gốc của React bằng cách chèn HTML thô trực tiếp vào DOM mà không escape. Nếu nội dung đến từ nguồn không đáng tin cậy hoặc API bên ngoài, nó có thể chứa JavaScript độc hại sẽ được thực thi. Tên rõ ràng dangerouslySetInnerHTML buộc các nhà phát triển nhận thức rõ ràng về rủi ro bảo mật và triển khai sanitization phù hợp với các thư viện như DOMPurify.

4

Sự khác biệt chính giữa tấn công XSS Stored và Reflected là gì?

5

Cách tiếp cận nào nên được ưu tiên để hiển thị HTML từ API bên ngoài trong React?

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

Nắm vững React / Next.js 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í