MariaDB 운영 계정 최소 권한 설계 — root 대신 역할·호스트 제한·TLS 강제하기
도입 최소 권한은 GRANT 문장을 작성하는 것으로 끝나지 않는다. 애플리케이션이 필요한 작업은 성공하고, 스키마 변경·계정 관리·시스템 테이블 조회는 실패하는지 실제 계정으로 확인해야 한다. 아래 SQL은 M...
SQL Injection 검색 결과: 7개
도입 최소 권한은 GRANT 문장을 작성하는 것으로 끝나지 않는다. 애플리케이션이 필요한 작업은 성공하고, 스키마 변경·계정 관리·시스템 테이블 조회는 실패하는지 실제 계정으로 확인해야 한다. 아래 SQL은 M...
PHP 프로젝트는 초기에 빠르게 기능을 붙이다 보면 Controller가 쉽게 비대해진다. 요청 처리, 검증, 비즈니스 로직, DB 쿼리, 응답 생성이 한 파일에 섞이면서 유지보수가 어려워진다. Control...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로 굳어지기 때문이다. 실무에서는...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약점이다. 로그인 우회, 전체 데...
긴 코드나 로그를 AI에 한꺼번에 넣는다고 좋은 리뷰가 보장되지는 않는다. 불필요한 파일은 판단을 흐리고, 환경 파일과 운영 로그에는 인증정보나 개인정보가 포함될 수 있다. 이 글은 Claude에 PHP 코드 리뷰를...
Cursor의 메뉴와 모델 구성은 업데이트에 따라 달라질 수 있다. 오래 유지되는 핵심은 기능 이름이 아니라 프로젝트 문맥을 제한하고 변경 결과를 직접 검증하는 작업 흐름이다. 이 글은 PHP 프로젝트에서 작은 수정...
CRUD 문법 자체는 단순하지만 운영 데이터에서 어려운 부분은 문법이 아니라 의도한 행만 변경했는지 확인하는 과정이다. 잘못된 WHERE 하나가 여러 행을 수정하거나 삭제할 수 있고, 애플리케이션 입력을 문자열로 조...