IT/nodejs(3)
-
nodejs mysql사용시, SQL Injection 방어하기
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 ..
2022.01.19 -
nodejs mysql사용시, SQL Injection 방어하기
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 ..
2022.01.19 -
Telegram Bot inline keyboard 구현
nodejs 로 텔레그램 inline keyboard를 구현하는 방법 inline keyboard란? 왼쪽과 같이, 텔레그램 명령어를 입력하면, 설명과 함께 메뉴가 나타나는 것을 의미한다. 정확하게 이야기 하면, 텔레그램에서는 해당 버튼을 '키보드'라고 표현한다. 왜냐하면, 기존에는 채팅 메시지 입력 창(키보드)를 누르면 해당 키보드에 입력 자판 대신 메뉴가 뜨도록 구현이 되어 있어서, 단순히 '키보드'라고 표현하고 있는 것 같다. 근데 점차 UI의 혁신(?)으로 키보드 또한, 채팅창으로 이동하여 마치 메뉴 처럼 나타낼 수 있게 되었다. 이것을 'inline keyboard'라고 표현하는 것이다. 자세한 내용은 공식 사이트를 참고하시라. https://core.telegram.org/bots/2-0-in..
2022.01.07