-
[Node.js] 13일차교육 2019. 10. 9. 01:20
async/await 호출 시 응답이 안 오는 경우
- 여러 방법으로 해결 가능
- nginx에서 timeout 설정으로 해결
- 코드 단에서 해결
Sequelize ORM
ManyToMany 관계에서는 어떤 방향에서든(양방향) 조회 가능
1. belongsToMany 관계 설정
2. 조회 시, 양쪽 어디서든 include 키워드 사용SQL Injection 공격
- 사용자의 악의적인 입력 값으로 SQL Query를 조작하는 것
- 이러한 비정상적인 SQL Query를 통해 다음과 같은 공격이 가능
(1) 사용자 인증을 비정상적으로 통과할 수 있다.
(2) 데이터베이스에 저장된 데이터를 임의로 볼 수 있다.
(3) 데이터베이스의 시스템 명령을 이용하여 시스템 조작이 가능하다.- 데이터 입력이 가능한 수많은 페이지에 SQL Injection 취약점이 존재
Sequelize에서, SQL Injection 방어 방법
Sequelize
where: {
name: 검색어
}
- 위 검색어 자리에 클라이언트로부터 쌩 쿼리가 날아올 경우 문제의 소지가 있음, 이럴 때, Op.xxx 형식을 사용 (보안 강화)
- 쌩 쿼리가 날아와서 쿼리에 문제가 있을 것 같은 애들은 Op.xxx 형식을 사용해줘야 함WYSIWYG 에디터
- 한글이나 워드 같이 편집 작업을 쉽게 할 수 있게 도와주는 프로그램
- CKEditor
Apache JMeter
- 서비스의 성능을 측정을 위한 테스트 tool (오픈 소스)
- 순수 자바로 만들어진 데스크톱 애플리케이션
- 동접자 수 얼마까지 가능한지 테스트 가능
이메일 전송하는 방법
- 메일 서버 직접 구축 (Sendmail)
ㄴ 우리 서버에서 대량의 이메일을 발송하면, Google에서 우리 서버를 스팸 서버로 지정하고 메일이 스팸메일함으로 들어갈 수 있음
- 국내 같은 경우는 KISA에다가 미리 우리 서버는 스팸메일서버가 아니다고 등록할 수 있음 (국외는 못함)
- (Naver, Gmail) SMTP 서버 사용
메일 발송 시 네이버 SMTP 서버에다가 발송해 달라고 요청 -> 하루 발송 양이 제한
- SendGrid (써드파티 라이브러리) 사용 (유료)
-> 우리 서버에서 메일을 보냈을 때 스팸메일함으로 안 들어가 있음 된다.
-> Mailchimp (메일침프, 마케팅 자동화 플랫폼이자 이메일 마케팅 서비스)
* 이메일 인증 시 사용하는 인증 URL에는 보안상 expire 시간을 넣어주는 게 좋다.
'교육' 카테고리의 다른 글
[컴퓨터 시스템] 3일차 (0) 2019.11.12 [컴퓨터 시스템] 2일차 (0) 2019.10.15 [컴퓨터 시스템] 1일차 (0) 2019.10.07 [Node.js] 11일차 (1) 2019.09.27 [Node.js] 10일차 (0) 2019.09.25