보안 - 사용자 권한 관리
데이터베이스 시스템에서는 다양한 사용자가 존재하며, 각 사용자에게 적절한 권한을 부여해야 보안을 유지할 수 있음
- GRANT: 사용자에게 권한 부여
GRANT 명령어를 사용하여 특정 사용자에게 데이터베이스에 대한 접근 권한을 부여할 수 있음
각 권한은 SEELCT, INSERT, UPDATE, DELETE등으로 세분화할 수 있음
- REVOKE - 사용자 권한 회수
기존에 부여한 특정 권한을 회수할 때 사용
잘못된 권한을 부여했거나, 특정 사용자가 더 이상 해당 권한을 가질 필요가 없을 때 사용
보안 - SQL 인젝션 방어
SQL 인젝션(SQL Injection): 공격자가 SQL문을 조작하여 데이터베이스를 무단으로 조작하는 해킹 방법
Prepared Statement(준비된 쿼리)를 사용한 SQL 인젝션 방어
- 미리 SQL문을 준비한 후, 사용자 입력값을 안전하게 바인딩하여 실행하는 방식
- 사용자가 입력한 값이 SQL 문에 직접 삽입되지 않으므로, SQL 인젝션 공격을 방어할 수 있음
- SQL문을 미리 준비하고, 사용자 입력값을 ? 자리에 안전하게 바인딩
- 입력값이 자동으로 인코딩되므로 SQL 문법이 깨지지 않음 -> 인젝션 공격 차단