Sparta/Today I Learned (81) 썸네일형 리스트형 TIL 77) 2022.08.09 (화) | 최종프로젝트 24일차 보안 문제 배포를 하고 사용자 피드백을 받게 되니까 로컬에서 테스트해 볼 때는 생각치 못했던 문제들이 발생했다. 특히 보안문제가 그러했는데, 스파르타에서 운영하는 타 트랙에서 XSS공격 등 여러 보안의 허점을 이용한 공격을 했다. 게시판이나 댓글에 코드를 적어서 XSS공격을 하기도했고, 마이룸으로 가는 링크를 홍보사이트로 바꿔놓기도 했고, 글자 수 제한이 되어있지 않아서 도배를 해놓기도 했다. 특히 마이룸으로 가는 링크를 본인들 프로젝트 사이트로 바꿔놓았다고 생각한 팀장님이 분노하여 그 사이트에서 보안허점을 이용해서 역으로 공격을 했는데, 프론트엔드에서만 막아두고 백엔드에서 권한을 막지않아서 글과 댓글을 무작위로 지우고 글이나 댓글에 CSS를 수정해서 폰트색을 변경하는 등 여러 공격을 했다. 그런데 알고.. TIL 76) 2022.08.08 (월) | 최종프로젝트 23일차 사용자 편의성 증진 회원가입시 중복된 닉네임, 아이디 알럿으로 표시 회원가입시에 중복 알림 처리를 안했는데 사용자가 말하기 전까지는 추가할 생각을 못했다. # login.js async function handleSignup() { const response = await fetch(`${backend_base_url}/user/`, { headers: { Accept: "application/json", 'Content-type': 'application/json' }, method: 'POST', body: JSON.stringify(signupData) } ) response_json = await response.json() if (response.status == 200) { alert('예비 .. TIL 75) 2022.08.05 (금) | 최종프로젝트 22일차 # TODO - 프론트 도메인 바꾸기 - ACM ssl 인증서 발급 - 백엔드 파일업로드 용량 올리기 - 백엔드 ci/cd 를 위한 yml 파일 짜기 거북이반 강의 영상을 따라하다보니 백엔드 도메인은 바뀌었는데, 프론트 도메인을 안바꿔서 들어갈 때마다 복잡한 도메인 부터 바꿔주었다. 백엔드 도메인은 서브 도메인으로 coumi가 붙는데, 프론트는 서브 도메인이 안붙은거랑 www를 붙인거 두개로 바꿔주었다. 사실 letsencrypt로 백엔드 도메인을 인증받다가 계속 안되서 여러번 했더니 too many.. 어쩌구 하면서 1주일에 5번이상 요청할 경우 리미트에 걸리는 그런 사태가 벌어져서, 앞에 서브도메인을 붙이면 다르게 인식하지 않을까 해서 시도했던건데 됬다..! 그리고 이렇게 서브 도메인을 붙이면 다른 .. TIL 73) 2022.08.03 (수) | 최종프로젝트 20일차 도메인 구매하기 AWS Route53 route53 접속 후 [도메인 등록] 을 눌러서 도메인을 구매한다. 구매하고 싶은 도메인을 입력하고, 뒤에 붙을 확장자를 고를 수 있다. 확장자는 여러가지가 있는데 확장자마다 이용가격이 달라서 잘 고르면 보다 싼 도메인을 구할 수 있다. 나는 makemigrations.click 으로 하기로 했다. click 은 3$로 저렴한데 그래도 이상한 확장자는 아닌거 같아서 선택했다. 도메인 적용하기 Route 53 에서 호스팅 영역이라는 메뉴에 들어가면 구매했던 도메인의 정보가 뜨는데, 도메인 이름을 눌러주면 세부정보를 볼 수 있다. 여기서 레코드 생성을 해주고 레코드 이름에는 서브도메인을, 값에는 백엔드 퍼블릭 ip를 적어준다. 나는 프론트 도메인을 makemigrati.. TIL 72) 2022.08.02 (화) | 최종프로젝트 19일차 # TODO - 로그인시 포인트를 지급하도록 로그인 분기 나누기 우리 프로젝트에는 싸이월드 같이 마이룸을 꾸밀 수 있는 기능이 있는데, 마이룸을 꾸미기 위한 가구들은 상점에서 포인트로 구입할 수 있다. 그래서 유저들에게 다양한 방법으로 포인트를 지급하려고 계획했었는데, 포인트를 모으는 방법 중에 기본은 로그인 시에 일정 포인트를 지급하는 것이었다. 이렇게 포인트를 지급하기 위해서 로그인시에 분기를 3가지로 나눴다. ① 오늘 첫 로그인시 포인트 지급 ② 오늘 안에 두번 이상 로그인 했을 때 ③ 신규 유저여서 userinfo가 없을 때 → 이주신청서 작성 페이지로 이동 로그인시 분기나누기 # login.js response.json().then(data => { localStorage.setItem("pay.. TIL 71) 2022.08.01 (월) | 최종프로젝트 18일차 어제 안되서 포기하고 잤었는데, 오늘 도커 컨테이너 3개 다 띄우는데 성공했다..!!! admin 페이지도 잘 들어가지고 로그인도 된다..ㅠㅠ!! 오늘 로컬에서 docker로 돌려보고 되는 거 확인한 다음에 깃허브에 푸쉬한 내용을 클론해와서 다시 빌드해봤는데, 컨테이너 3개다 바로 정상적으로 올라갔다. 뭔가 클론해오고 나서 계속 고치면서 파일이 꼬였나보다..ㅠㅠ 어제 안되던 postgres 도 갑자기 된다..! 드디어 컨테이너 3개 띄우기 (+ db연결) 성공!!! EC2 에 Docker로 배포 성공 빌드 후에 docker ps 로 확인해본 결과 잘 컨테이너 3개 다 잘 떴다. 그런데 환경변수 파일(.env)에다가 DJANGO_ALLOWED_HOSTS 에 public ip를 안적어줘서 컨테이너를 내린김에.. 이전 1 2 3 4 ··· 14 다음