본문 바로가기

web

(8)
web - XSS(Cross-site Scripting) vs CSRF(Cross-Site Request Forgery) XSS(Cross-site Scripting) vs CSRF(Cross-Site Request Forgery) XSS와 CSRF는 웹 보안 취약점 중 가장 일반적인 두 가지 유형입니다. 두 방법 모두 악성 사용자가 무분별한 행동을 할 수 있게 하지만, 그들이 어떻게 작동하고 어떻게 방어해야 하는지에는 차이가 있습니다. Cross-Site Scripting (XSS) Cross-Site Scripting은 악성 스크립트를 신뢰할 수 있는 웹 사이트에 삽입하는 공격 방식입니다. XSS 공격이 성공하면, 공격자는 사용자의 세션 토큰을 훔칠 수 있고, 사용자 인터페이스를 조작하거나, 사용자의 개인정보를 수집할 수 있습니다. XSS는 크게 세 가지 유형으로 분류됩니다: Stored XSS: 공격자가 웹사이트에 악..
web - WebRTC란 무엇인가? WebRTC란 무엇인가? WebRTC의 개요 WebRTC(Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 설치나 서드파티 응용프로그램 없이 실시간 통신을 가능하게 하는 오픈 소스 프로젝트입니다. 이 기술은 음성, 비디오, 파일 공유 등의 데이터를 웹 페이지나 모바일 애플리케이션을 통해 직접 교환할 수 있게 해줍니다. 이는 웹 애플리케이션 개발자가 사용자 간의 실시간 통신 기능을 쉽게 구현할 수 있게 해주며, 이로 인해 채팅, 비디오 회의, 멀티미디어 게임 등 다양한 애플리케이션에서 WebRTC가 활용되고 있습니다. WebRTC의 중요성 WebRTC는 실시간 통신을 웹의 핵심 기능으로 만들어, 사용자 경험을 향상시키고 새로운 형태의 커뮤니케이션을 가능하게 합니다. 이는 웹..
web - HTTPS의 동작 방식 HTTPS의 동작 방식 HTTPS(Hypertext Transfer Protocol Secure)는 웹에서 보안이 강화된 통신을 제공하기 위해 사용되는 프로토콜입니다. 기본적으로 HTTP 프로토콜 위에서 SSL/TLS 프로토콜을 사용하여 암호화된 연결을 제공합니다. 이로 인해 중간자 공격(Man-in-the-middle attack)을 방지하고, 데이터의 기밀성, 무결성 및 인증을 보장할 수 있습니다. HTTPS가 동작하는 방식은 다음과 같습니다: 1.클라이언트(브라우저)가 서버에 HTTPS 요청을 보냅니다. 클라이언트는 웹 주소를 입력하거나 링크를 클릭하여 HTTPS 페이지에 액세스하려고 시도합니다. 이때 브라우저는 웹 서버에 대한 보안 연결을 설정하려고 시도하며, 이를 시작으로 SSL/TLS 핸드셰이..
web - 웹소켓 통신을 활용하여 채팅서비스 구현하기 웹소켓 통신 소개 웹소켓(WebSocket)은 실시간 양방향 통신을 위해 개발된 프로토콜이다. 기존의 HTTP 프로토콜은 클라이언트에서 서버로의 단방향 통신을 주로 사용하며, 요청과 응답이 한 쌍을 이룬다. 그러나 웹소켓은 양방향 통신을 지원하여 클라이언트와 서버 간에 지속적인 연결을 유지하고, 실시간으로 데이터를 교환할 수 있다. http와의 차이 HTTP (HyperText Transfer Protocol) 요청-응답 패턴: HTTP는 클라이언트가 서버에 요청을 보내면 서버가 응답을 반환하는 단방향 요청-응답 패턴을 사용한다. 상태가 없음: HTTP는 상태가 없는(stateless) 프로토콜이므로, 각 요청은 독립적이고 이전 요청과 관련이 없다. 이로 인해 서버는 클라이언트의 상태를 추적하거나 저장하..
web - Access Token과 Refresh Token Access Token과 Refresh Token Access Token Access Token은 사용자 인증 후 얻게 되는 토큰으로, 사용자가 특정 리소스에 접근할 수 있는 권한을 부여한다. 일반적으로, 사용자의 아이디, 역할 등의 정보가 포함되어 있으며, 이 토큰을 통해 서버는 사용자의 인증 및 권한을 확인할 수 있다. 하지만, Access Token은 보안상의 이유로 짧은 만료 시간을 가진다. Refresh Token Refresh Token은 사용자가 인증을 다시 거치지 않고도 Access Token을 새로 발급받을 수 있게 해주는 토큰이다. 만료 시간이 길어 Access Token보다 안전성이 높으며, 주기적으로 Access Token을 갱신할 때 사용한다. 동작 방식 출처 : https://w..
web - CDN(콘텐츠 전송 네트워크) 콘텐츠 전송 네트워크 (CDN) - 웹 성능을 최적화하는 기술 1. CDN이란 무엇인가? 콘텐츠 전송 네트워크(Content Delivery Network, CDN)는 웹 컨텐츠를 효율적으로 사용자에게 전달하기 위해 고안된 분산 네트워크 시스템입니다. 웹 사이트에 트래픽이 몰리거나, 사용자가 서버와의 거리가 멀 경우 페이지 로딩 시간이 길어지게 됩니다. 이러한 지연 시간을 줄이기 위해 CDN은 사용자와 가장 가까운 지역의 '에지 서버'로 컨텐츠를 제공합니다. 2. CDN의 작동 방식 CDN은 웹사이트의 컨텐츠를 전 세계에 분산된 서버 네트워크에 복사하여 저장합니다. 이러한 서버들을 '에지 서버'라고 부르며, 사용자의 요청에 따라 가장 가까운 에지 서버에서 컨텐츠를 제공합니다. 이를 통해 데이터 전송 지연..
web - JWT 1. jwt란? JSON 웹 토큰(JWT)은 웹에서 정보를 안전하게 전송하는 방법이다. 웹 응용 프로그램에서 인증 및 권한 부여를 위해 종종 사용된다. JWT는 헤더, 페이로드, 서명의 세 부분으로 구성된다. 헤더는 일반적으로 토큰의 유형인 JWT와 HMAC SHA256 또는 RSA와 같은 서명 알고리즘의 두 부분으로 구성된다. 서명은 JWT의 발신인이 누구인지 확인하고 메시지가 도중에 변경되지 않았는지 확인하는 데 사용된다. 사용자가 응용프로그램에 로그인하면 응용프로그램은 사용자 이름 및 만료 시간과 같은 사용자에 대한 정보를 포함하는 JWT를 생성한다. 그런 다음 응용 프로그램은 JWT를 일반적으로 HTTP 전용의 안전한 쿠키로 사용자에게 전송된다. 사용자가 응용프로그램에 요청하면 응용프로그램은 JW..
web - SPA의 개념 기존의 브라우저는 요즘의 페이지에 비해 성능이 떨어지고 더 느리다. 무언가를 클릭할 때마다 서버에서 새 페이지가 로드되므로 시간이 많이 걸리기 때문이다. 그러나 spa의 경우에는 그렇지 않다. 사용자가 요청한 데이터만 다시 로드하므로 프로세스가 더 빨라진다. 이것이 spa(single page application)다. spa는 일종의 웹 아키텍쳐이며, 하나의 페이지에서 모든 정보를 사용할 수 있는 단일 페이지다. 기존의 브라우저는 http 요청에 의해 서버에서 데이터를 내려받으면, 해당 데이터를 통해 페이지를 다시 랜더링한다. 그러나 spa는 위의 그림과 같이 ajax등으로 json을 내려받고, 그 새로운 요청에 해당하는 데이터만을 다시 로드하는 방식이다. 중요한 건 spa는 다른 화면을 다시 로드하지..