SQL 쿼리 파라미터 바인딩 분석기
SQL 구문 안의 변수 placeholders(?, :id, @username)에 파라미터 매핑 값을 이스케이프 주입
위치 기반(?) 또는 명명 기반(:id, @username)의 SQL 변수 플레이스홀더를 가진 원본 쿼리에 파라미터 값을 순서나 명칭에 맞게 이스케이프 처리하여 완전한 SQL 문장으로 바인딩 결합해 줍니다. 별도의 프로그램 설치나 복잡한 회원가입 없이 웹 브라우저에서 즉시 실행되며, 입력한 데이터는 외부 서버로 유출되지 않고 안전하게 로컬 환경에서 처리됩니다.
도구를 불러오는 중…
🔒 이 도구는 100% 브라우저에서 처리됩니다. 업로드한 파일과 입력한 내용은 서버로 전송되지 않습니다.
사용 방법
- 사용 중인 데이터베이스 종류(MySQL/PostgreSQL/SQLite)를 설정합니다.
- 파라미터 입력 형식(순서 목록, key=value 목록, JSON) 중 하나를 선택하고 값을 적습니다.
- 플레이스홀더 변수가 담긴 원본 SQL 구문을 입력창에 붙여넣습니다.
- 아래 결과창에서 따옴표 이스케이프가 안전하게 적용 완료된 최종 SQL 쿼리를 확인하고 복사합니다.
자주 묻는 질문
- 문자열 중간에 포함된 ? 문자도 임의 변환되나요?
- 아닙니다. 문자열 상수('...') 내부나 한 줄 주석(--) 또는 블록 주석(/* */) 영역은 정밀 무시하고 파싱하는 character-by-character 토크나이저가 내장되어 있어 쿼리가 망가지지 않습니다.
- SQL 인젝션 방어에 실효성이 있나요?
- 이 도구는 단순 텍스트 조합용 바인딩 시뮬레이터입니다. 프로그래밍 실제 상용 서버에서는 성능과 온전한 보안을 위해 언제나 PreparedStatement와 데이터베이스 Native 바인딩 기법을 사용하셔야 합니다.
- 배열 값을 IN 절 파라미터로 바인딩할 수 있나요?
- 네, JSON 입력 모드에서 값으로 배열을 지정하면 IN (?, ?, ?)처럼 요소 개수만큼 플레이스홀더가 자동으로 펼쳐지며 각 값이 개별적으로 이스케이프 처리되어 삽입됩니다. 다만 실제 서버 코드에서는 데이터베이스 드라이버가 배열 바인딩을 지원하는지 별도로 확인해야 합니다.
