- 개발자들이 웹사이트, 모바일 어플, 웹 API 등을 만들 때에 해커들의 공격을 막기 위해서 보안(security)은 필수 사항
- 여러 가지 공격들
- SQL injection,XSS,CSRF
- 서버가 클라이언트(의 쿠키 정보를)너무 믿어서 생기는 공격
- 다른 오리진(cross-site)에서 유저가 보내는 요청(request)을 조작(forgery)하는 것
Ex) 이메일에 첨부된 링크를 누르면 내 은행계좌의 돈이 빠져나감.- 해커가 직접 데이터를 접근할 수 없다
Ex) 다른 오리진이기 때문에 response에 직접 접근할 수 없음
- 쿠키를 사용한 로그인 => 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알수 있어야 함
- 예츨할 수 있는 요청/parameter를 가지고 있어야 함 => request에 해커가 모를 수 있는 정보가 담겨있으면 안됨
Ex) 계좌이체를 사용되는 GET요청 => 김코딩에 계좌로 보내는 요청코드를 해커에 계좌로 바꿈 => 해커는 악성링크를 보냄
=> 은행에서는 로그인이 되어있느 상태에 이체요청을 보냈으니 해커에게 돈을 보내는 요청을 받아드림
EX) 비밀번호 변경에 사용되는 POST 요청 => body에 사용된다.
- CSRF 토큰 사용하기,서버측에서 CSRF 공격에 보호하기 위한 문자열을 유저의 브라우저와 웹 앱에만 제공
- Same-site cookie사용하기, 같은 도메인에서만 세션/쿠키를 사용할 수 있다.