Symfony

ความปลอดภัยขั้นสูง

Custom authenticator, voter, security expression, การป้องกัน CSRF, การป้องกัน XSS, rate limiting, การเสริมความแข็งแกร่งในโปรดักชัน, การตั้งค่า JWT/OAuth2 ที่ผิดพลาด

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

ใน Symfony 6+ custom authenticator ต้องใช้งานอินเทอร์เฟซใด?

คำตอบ

ใน Symfony 6+ custom authenticator ต้องใช้งาน AuthenticatorInterface จากคอมโพเนนต์ Security HTTP อินเทอร์เฟซนี้กำหนดเมธอด supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() และ createToken() ที่เป็นทางเลือก โดยมาแทนที่ระบบ Guard เดิมที่ใช้ใน Symfony 4/5

2

เมธอด supports() ใน custom authenticator มีบทบาทอะไร?

คำตอบ

เมธอด supports() จะกำหนดว่า authenticator ควรจัดการคำขอปัจจุบันหรือไม่ โดยจะรับ Request และคืนค่าบูลีน หากเป็น true เมธอด authenticate() จะถูกเรียก ตามด้วย onAuthenticationSuccess() หรือ onAuthenticationFailure() ซึ่งทำให้สามารถมี authenticator ที่ทำงานอยู่หลายตัวบน firewall เดียวกัน โดยแต่ละตัวจัดการประเภทการยืนยันตัวตนที่เฉพาะเจาะจง

3

เมธอด authenticate() ของ custom authenticator ควรคืนค่าอะไรเมื่อสำเร็จ?

คำตอบ

เมธอด authenticate() ต้องคืนค่าออบเจ็กต์ Passport ที่มี UserBadge (ตัวระบุผู้ใช้) และ credentials badge นอกจากนี้ Passport ยังสามารถมี badge เพิ่มเติม เช่น CsrfTokenBadge หรือ RememberMeBadge ได้ จากนั้น Symfony จะใช้ Passport นี้เพื่อสร้าง token การยืนยันตัวตนและโหลดผู้ใช้ผ่าน UserProvider

4

จะกำหนด Voter แบบกำหนดเองเพื่อควบคุมการเข้าถึงทรัพยากรเฉพาะได้อย่างไร?

5

กลยุทธ์ AccessDecisionManager แบบใดที่แนะนำสำหรับแอปพลิเคชันที่ต้องการความปลอดภัยที่เข้มงวด?

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

หัวข้อสัมภาษณ์ Symfony อื่นๆ

PHP สมัยใหม่ (8.1+)

Junior
20 คำถาม

พื้นฐาน Symfony

Junior
25 คำถาม

Routing & Controllers

Junior
20 คำถาม

Twig & Templates

Junior
20 คำถาม

พื้นฐาน Doctrine ORM

Junior
25 คำถาม

ฟอร์ม Symfony

Junior
22 คำถาม

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

Junior
18 คำถาม

Dependency Injection & Services

Mid-Level
24 คำถาม

Security & Authentication

Mid-Level
26 คำถาม

Doctrine ขั้นสูง

Mid-Level
24 คำถาม

API Platform

Mid-Level
22 คำถาม

Serializer Component

Mid-Level
20 คำถาม

Events & Event Subscribers

Mid-Level
20 คำถาม

Console & Commands

Mid-Level
18 คำถาม

Messenger Component

Mid-Level
22 คำถาม

HTTP Client

Mid-Level
18 คำถาม

Cache & ประสิทธิภาพ

Mid-Level
20 คำถาม

Workflow Component

Mid-Level
18 คำถาม

Testing Symfony

Mid-Level
22 คำถาม

Mailer Component

Mid-Level
16 คำถาม

การแปลและ i18n

Mid-Level
16 คำถาม

EasyAdmin Bundle

Mid-Level
18 คำถาม

สถาปัตยกรรม Symfony

Senior
24 คำถาม

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

Senior
22 คำถาม

Custom Bundles

Senior
20 คำถาม

Microservices ด้วย Symfony

Senior
22 คำถาม

Real-time & WebSockets

Senior
18 คำถาม

Deployment & DevOps

Senior
20 คำถาม

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

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

เริ่มใช้ฟรี