Secure PHP Apps with Symfony & MongoDB – Full Course for Beginners
- 이 강의는 PHP와 Symfony를 사용하여 안전한 웹 애플리케이션을 구축하는 방법을 다룹니다. 🛡️
- 데이터 유출 위협에 대응하여 데이터의 전체 라이프사이클 동안 보호하는 시스템 구축이 중요합니다. 🔒
- 개인 금융 관리 웹 애플리케이션을 구축하여 암호화 방식으로 데이터를 보호하고, 암호화된 데이터에 대한 의미 있는 쿼리를 수행하는 방법을 배웁니다. 💰
- MongoDB의 Queryable Encryption을 사용하여 클라이언트 측에서 데이터를 암호화하고, 서버에서 복호화 없이 쿼리를 실행합니다. 🔑
- PHP, Symfony, MongoDB Atlas, Doctrine MongoDB ODM 등의 기술 스택을 사용하여 목표를 달성합니다. 💻
- PHP, Composer, Symfony CLI, MongoDB PHP 확장 등의 설치 및 설정을 안내합니다. ⚙️
- MongoDB Atlas를 사용하여 클라우드 데이터베이스를 설정하고, 환경 변수를 구성하여 애플리케이션을 연결합니다. ☁️
- 암호화 키를 생성하고, MongoDB Cryptographic Library의 경로를 설정하여 암호화 기능을 활성화합니다. 🔑
- Doctrine MongoDB 설정을 통해 자동 암호화 및 KMS 제공자를 구성합니다. ⚙️
- Account 및 Transaction document 클래스를 생성하여 데이터 모델을 정의하고, 어떤 필드를 암호화할지, 어떻게 쿼리할 수 있는지 설정합니다. 🗂️
- encrypt, encrypt query equality, encrypt query range 등의 속성을 사용하여 필드를 암호화하고 쿼리 가능하게 만듭니다. 🔍
- FinancialService 클래스를 생성하여 계정 및 트랜잭션 생성, 검색 등의 비즈니스 로직을 처리합니다. 🧠
- 서비스 레이어는 암호화 관련 코드를 알 필요 없이 객체와 상호 작용하며, Doctrine ODM이 투명하게 암호화를 처리합니다. ✨
- findAccountByNumber, findAccountByBalanceRange 등의 메서드를 통해 암호화된 데이터에 대한 쿼리를 수행합니다. 🔍