본문 바로가기

sqlinjection2

npm mysql2 라이브러리에서 query와 execute 메서드 비교 MySQL2 라이브러리에서 query와 execute 메서드의 차이점은 Node.js와 MySQL을 사용하는 개발자들이 보안성과 성능을 고려할 때 중요한 부분입니다. 이 글에서는 query와 execute의 개념, 차이점, 그리고 각각의 사용 예시를 중심으로 자세히 설명하겠습니다.1. mysql2 라이브러리 소개mysql2는 Node.js에서 MySQL 데이터베이스와 상호작용하는 라이브러리입니다. MySQL의 기본 기능을 제공하면서도 성능 향상과 추가 기능들을 갖춘 라이브러리로, MySQL뿐만 아니라 MariaDB에서도 사용할 수 있습니다. 이 라이브러리는 비동기적으로 작동하며, Promises나 async/await와 함께 사용할 수 있어 최신 JavaScript 문법과 잘 어우러집니다.특히 mysql.. 2024. 10. 3.
MySQL2에서 명명된 플레이스홀더(named placeholders) 사용하기 Node.js에서 MySQL을 사용하여 데이터베이스 쿼리를 실행할 때, 플레이스홀더를 사용하면 파라미터화된 쿼리를 작성할 수 있어 SQL 인젝션 방지에 큰 도움이 됩니다. MySQL2 라이브러리는 기본적으로 unnamed 플레이스홀더 (?)를 지원하지만, 이를 명명된 플레이스홀더(named placeholders)로 대체하면 가독성이 향상되고 복잡한 쿼리에서 파라미터를 더 쉽게 관리할 수 있습니다. 이번 포스트에서는 MySQL2에서 명명된 플레이스홀더를 설정하고 사용하는 방법을 설명하겠습니다.1. 명명된 플레이스홀더란?명명된 플레이스홀더는 쿼리 내에서 파라미터에 고유한 이름을 부여하여, 코드의 가독성을 높이고 실수를 줄이는 데 도움이 됩니다. 예를 들어 SELECT * FROM users WHERE id.. 2024. 10. 3.