AJAX (Asynchronous JavaScript And XML)
- 서버와 자유롭게 통신할 수 있다 (XMLHttpRequest)
- 페이지 깜빡임 없이 끊김 없이 작동된다 (JavaScript & DOM)
XSS (Cross Site Scripting)
- 클라이언트가 서버를 신뢰함으로 인해 발생하는 이슈
- 웹 앱에 악성 스크립트를 주입하는 공격
XSS 예방하는 법
- 정규 표현식을 사용
- innerHTML 대신에 textContent를 사용
- Sanitize-HTML 라이브러리로 문서를 보호
CSRF (Cross Site Request Forgery)
- 서버가 클라이언트를 신뢰함으로 인해 발생하는 이슈
- 악성 스크립트를 이용하여 사용자가 의도하지 않은 행위를 하게 만드는 공격
CSRF 예방하는 법
- 클라이언트의 HTTP 요청 중 referrer 헤더 확인
- Security Token 사용
CORS (Cross Origin Resource Sharing)
- origin 서버 외부에서 리소스 요청을 관리하는 방법
- 서버에서 요구하는 조건들을 다 갖췄는지 사전에 서버에 확인하는 요청
- HTTP 헤더를 통해 외부로부터 요청을 관리