nodejs mysql사용시, SQL Injection 방어하기
2022. 1. 19. 10:22ㆍIT/nodejs
반응형
DB를 사용하는 경우, 항상 유의해야 하는 점.
SQL Injection...
SQL Injection이란 DB쿼리를 사용시에, query string 값을 넣는 경우가 99.9999%인데 (심지어 유저 ID), 이때 파라미터 값에 특수 문자와 문법들을 이용해서 쿼리를 무력화하고 권한을 획득하는 것을 의미한다.
https://namu.wiki/w/SQL%20injection
nodejs로 mysql npm을 사용하고 있는데, 어떻게 방어하는지 궁금해서 검색해보니, 아래와 같이 하면 된단다.
escape
escape는 문자열을 인코딩하는 걸 말한다.
const getUser = function (chat_id) {
return connection.query(`SELECT * FROM USERS WHERE id=${connection.escape(id)}`)
};
좀 더 자세한 사항은 더 좋은 사이트가 있어서 링크를 공유해본다.
반응형
'IT > nodejs' 카테고리의 다른 글
nodejs mysql사용시, SQL Injection 방어하기 (0) | 2022.01.19 |
---|---|
Telegram Bot inline keyboard 구현 (0) | 2022.01.07 |