아쿠의 개발 일지

한화 시스템 부트 캠프 14주차 회고 본문

ETC/한화시스템

한화 시스템 부트 캠프 14주차 회고

디아쿠 2024. 8. 25. 00:35
이제 안 쓰는 줄 알았죠?...

 
일단 13주차 사진부터 바꾸고 왔습니다,,, 반가워요 살아 돌아온 아쿠입니다,,,,(?)
요즘 많은 일들이 있었는데요,, 프론트 프로젝트가 끝났고 배포도 완료 했습니다.
그래서 밀린 블로그를 하나씩 적어보려고 해요, 복습도 하고 이런 것을 배웠지? 싶은 마음이 크네요,, 흐린 눈 하고 봐 주시면 될 것 같습니다.
 
노션에 매일 정리를  해 두는 편인데, 회고록 쓸 때 참고하기 좋은 것 같아요.
오 ,, 이거 배웠지? 하고 보게 되네요.
 
일단 프론트 프로젝트를 준비하는 기간이었던 만큼 쿠키, 알림에 대해서 배우게 됐고,
쿠키를 가지고 오는 방법으로

document.cookie

를 써서 가지고 올 수 있었습니다.
 
XSS (교차 사이트 스크립팅) 공격
에 대해서도 배우게 됐는데요 ,, 데이터를 그대로 웹 페이지에 출력할 때 발생할 수 있는 보안 취약점입니다. 이 문제를 해결하기 위해, 사용자로부터 입력된 데이터를 백엔드에 저장할 때 HTML 태그나 스크립트 코드를 그대로 저장하는 대신, 이를 HTML 엔티티로 변환하는 방법을 사용합니다. 이렇게 하면 웹 브라우저가 해당 코드를 실행하지 않고 단순한 텍스트로 처리합니다.
 

<template>
  <div>
    <!-- 사용자 입력을 그대로 출력하는 대신 -->
    <p v-html="sanitizedInput"></p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      userInput: "<script>alert('XSS');</script>",
    };
  },
  computed: {
    sanitizedInput() {
      // v-html을 사용해도 이미 엔티티로 변환된 안전한 HTML만 보여줌
      return this.userInput
        .replace(/</g, "&lt;")
        .replace(/>/g, "&gt;")
        .replace(/"/g, "&quot;")
        .replace(/'/g, "&#x27;")
        .replace(/&/g, "&amp;");
    },
  },
};
</script>

 
바이패스 공격
토큰 또는 세션 ID를 탈취하여 계정 정보 없이도 사용자로 가장해 로그인하는 공격입니다. 공격자는 주로 세션 ID나 토큰을 가로채서 사용자의 인증된 상태를 악용한다.
이를 해결하기 위해서
HttpOnly와, Secure에 대해서 배우게 됐는데

만든 거임,,

 

  • HttpOnly: 이 속성은 쿠키를 JavaScript에서 접근하지 못하도록 설정합니다. XSS 공격으로부터 쿠키를 보호하기 위해 매우 중요합니다.
  • Secure: 이 속성은 쿠키를 HTTPS 연결에서만 전송되도록 설정합니다. 이를 통해 쿠키가 암호화되지 않은 HTTP 연결을 통해 전송되는 것을 방지하여 중간자 공격(Man-in-the-Middle)으로부터 보호합니다.
res.cookie('sessionID', 'token', {
  httpOnly: true, // JavaScript에서 쿠키 접근 불가
  secure: true,   // HTTPS에서만 쿠키 전송
  sameSite: 'Strict' // 같은 사이트 내에서만 쿠키 사용
});

이런식으로도 쿠키 설정에서 허용해 줄 수 있다.
Http프로토콜을 이용해서 쿠키를 세팅하게 하고, 가져올 수 있게 하겠다.
자바 스크립트로는 안 된다. -> 막아준다고 생각하면 쉬울 듯하다...
 

웹 브라우저에서 접속 했을 때, 에러가 뜨지 않도록 허용 해 주기 위해서 지금 보여지는 3개의 주소를 같게 설정 해 줘야한다.
 
알람을 띄워주는 기능에 대해서도 하게 됐는데,

이렇게 설정 해서 시작을 누르면

귀여운 알람이 뜨게 돼요 ㅇㅇ 사진 둘다 제가 넣었음 ,,

 
이거 외에도 미디어 통신을 하는 WebRTC에 대해서도 배웠고, 
WebRTC에서 연결 방식에 대해서도 ,, 머릿속에 넣게 됐다,,, 아마도

이런 게 있답니다 ,,

 
다음 주차를 쓰기 위해 일단 후퇴. 감사합니다 ,, ㄳㄳ 다들 잊지 말아주세요 열심히 살게요
 

Problem

 
열심히 사는 건 정말 힘든 것 같다 회고록을 밀리지 않겠다고 다짐 했는데 생각보다 주말에 정리하는 게 힘들더라 ,,
지옥의 프론트를 끝내니까 ,, 후련하기 보다는? 울고 싶더라... 
열심히 살겠습니다 ,, 
 

Try

 
이번에 한 것을 최종 프로젝트 때 적용 해야 할 거 아닌가 ,, 싶기도 하다.
일단 오늘 배운 것을 토대로 현재 진행 중인 토이 프로젝트 리팩토링을 진행 해 보자. 꼭 꼭 ,,
 

갈 길이 멀다
728x90