React / Next.js

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

การป้องกัน XSS, การป้องกัน CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitization

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

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

คำตอบ

การโจมตี XSS เกี่ยวข้องกับการแทรกโค้ด JavaScript ที่เป็นอันตรายเข้าไปในแอปพลิเคชันเว็บเพื่อรันในเบราว์เซอร์ของผู้ใช้คนอื่น ผู้โจมตีใช้ประโยชน์จากช่องโหว่ด้าน validation หรือ escaping เพื่อขโมย cookie, session token หรือดำเนินการที่ไม่ได้รับอนุญาต React มีการป้องกันในตัวโดย escape ค่า JSX โดยอัตโนมัติ แต่ยังคงมีช่องโหว่กับ dangerouslySetInnerHTML หรือการจัดการ DOM โดยตรง

2

React ป้องกันการโจมตี XSS โดยค่าเริ่มต้นอย่างไร?

คำตอบ

React escape ค่าทั้งหมดที่แทรกผ่าน JSX โดยอัตโนมัติโดยแปลงเป็นข้อความธรรมดาก่อนการ render การป้องกันนี้ช่วยป้องกันการรันสคริปต์ที่เป็นอันตรายแม้จะมีการแทรกโค้ด HTML เข้าไปในข้อมูล แตกต่างจาก innerHTML ที่แปลงและรัน HTML, React ถือว่าแท็กเป็นข้อความธรรมดา ทำให้ไม่สามารถแทรก JavaScript ที่เป็นอันตรายผ่าน props หรือ state มาตรฐานได้

3

ทำไม dangerouslySetInnerHTML ถึงถือว่าอันตรายใน React?

คำตอบ

คุณสมบัตินี้หลีกเลี่ยงการป้องกัน XSS ของ React โดยการแทรก HTML ดิบโดยตรงลงใน DOM โดยไม่มีการ escape หากเนื้อหามาจากแหล่งที่ไม่น่าเชื่อถือหรือ API ภายนอก อาจมี JavaScript ที่เป็นอันตรายที่จะถูกรัน ชื่อที่ชัดเจน dangerouslySetInnerHTML บังคับให้นักพัฒนารับรู้ถึงความเสี่ยงด้านความปลอดภัยและนำ sanitization ที่เหมาะสมมาใช้กับ library อย่าง DOMPurify

4

ความแตกต่างหลักระหว่างการโจมตี XSS แบบ Stored และ Reflected คืออะไร?

5

ควรใช้แนวทางใดในการแสดง HTML จาก API ภายนอกใน React?

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

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

พื้นฐาน JavaScript

Junior
25 คำถาม

พื้นฐาน React

Junior
20 คำถาม

React Hooks

Junior
22 คำถาม

วงจรชีวิตของ component

Junior
18 คำถาม

React Router

Junior
20 คำถาม

การจัดการ state ด้วย Context

Junior
18 คำถาม

ฟอร์มและ Controlled Components

Mid-Level
20 คำถาม

การดึงข้อมูลและ API

Mid-Level
20 คำถาม

React Query (TanStack Query)

Mid-Level
20 คำถาม

Styling & CSS-in-JS

Mid-Level
18 คำถาม

พื้นฐาน Next.js

Mid-Level
25 คำถาม

TypeScript กับ React

Mid-Level
20 คำถาม

การดึงข้อมูล Next.js

Mid-Level
24 คำถาม

Server Actions ของ Next.js

Mid-Level
20 คำถาม

การกำหนดเส้นทางและการนำทางใน Next.js

Mid-Level
22 คำถาม

API Routes ใน Next.js

Mid-Level
20 คำถาม

Metadata & SEO ใน Next.js

Mid-Level
18 คำถาม

Middleware และ Auth ใน Next.js

Mid-Level
22 คำถาม

การทดสอบ React

Mid-Level
20 คำถาม

Zustand State Management

Mid-Level
18 คำถาม

การเพิ่มประสิทธิภาพ React

Senior
22 คำถาม

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

Senior
18 คำถาม

Advanced React Patterns

Senior
20 คำถาม

ฟีเจอร์ขั้นสูงของ Next.js

Senior
24 คำถาม

การ Deploy & Production ของ Next.js

Senior
20 คำถาม

Architecture & Design Patterns

Senior
22 คำถาม

React Server Components

Senior
26 คำถาม

การแปลภาษา Next.js

Senior
20 คำถาม

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

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

เริ่มใช้ฟรี