상세 컨텐츠

본문 제목

미들웨어(thunk) 사용 시 주의할 점 (feat. DoS)

Redux

by 비오스터딩 2020. 12. 13. 22:31

본문

서비스 거부(DoS) 공격이란?

서비스 거부(DoS, Denial-of-Service) 공격이란 특정한 네트워크나 웹 리소스에 합법적인 유저가 접근하지 못하도록 방해하는 것입니다. 전형적으로, 막대한 양의 트랙픽을 통해 특정 대상(흔히 웹 서버)에 과부하를 주거나, 악의적인 요청을 보내 해당 리소스가 오작동을 일으키게 하거나 완전히 정지시킵니다.

 

 

미들웨어(thunk)와 DOS ?

thunk는 매우 기본적인 미들웨어 기능을 제공해준다.

그러므로 thunk로 만들었을 경우, 실수로 로그인 버튼을 두번 클릭 하면 서버로 요청이 두번 다 간다.

스크롤 이벤트 같은 경우에도, 비동기 요청을 넣어놓으면 스크롤을 쫙 내렸을 때, 서버에 요청이 수백개가 갈 수 있다.

(서버요청 수백개 === 셀프 DoS 공격 ^^;;;;)

 

그러므로 이를 주의하며 코드를 짜는 것이 필요하다.

 

saga에서는 throttle 등을 미리 구현해 놓았으므로 복잡한 기능의 미들웨어가 필요할 땐 saga를 사용하는 것이 편하다.

delay 기능도 thunk는 직접 setTimeout을 사용해 구현해야하지만, saga에서는 제공하는 기능이다.

(사람들이 saga를 많이 쓰는 이유)

 

참고
- https://academy.binance.com/ko/articles/what-is-a-dos-attack
- 제로초 노드버드 강의
반응형

관련글 더보기

댓글 영역