프로그래밍/웹관련(19)
-
XSS 공격에 안전한 소셜 로그인 구현 (카카오)
XSS 공격에 안전한 소셜 로그인 구현 (카카오) 카카오 로그인 프로세스는 다음과 같이 진행했다. 클라이언트 서버 : 카카오 서버에 access_token을 요청하여 전달 받는다. 클라이언트 서버 : 백엔드 서버로 access_token을 넘겨주며 로그인 API를 호출한다. 백엔드 서버 : 클라이언트 서버에서 전달받은 access_token을 가지고 카카오 API를 호출하여 사용자 정보를 가져온다. 백엔드 서버 : JWT 방식을 사용하여 백엔드 서버에서 클라이언트 서버에 JWT token을 전달해준다. 이때 token을 Cookie에 담아서 전달한다.(httpOnly) 이번 포스팅은 백엔드 서버에 초점을 맞춰 3, 4번 내용을 작성하였다. 1. 카카오 서버에서 받은 access_token을 가지고 사용자..
2021.12.12 -
TIL52 | Unit Test
TODO 면접에 자주 등장하는 TDD(Test Driven Development) 개념 찾아보고 장점, 단점 정리하기 (TDD를 실제 서비스 개발시 적용하기 어려운 이유) 1. Software Testing 사전에 문제가 생기지 않게 방지하는 것 테스트를 하는 이유 결함 확인 사전 방지 시간 절약 구조 개선 품질 개선 확장성 2. Manual Test vs Automation Testing :: Manual Testing 사람이 직접 손으로 하는 것 단점 불안정성 ⬆️ 인력소모 ⬆️ 비용 ⬆️ 테스트 실행 속도 ⬇️ :: Automation Testing 컴퓨터가 직접 하는 것 장점 안정성 ⬆️ 인력소모 ⬇️ 비용 ⬇️ 테스트 실행 속도 ⬆️ 확장성 ⬆️ 3. 시스템 테스트 전략 3가지 1. End-To..
2021.11.20 -
TIL44 | Query Parameters VS Path Parameters
1. Query Parameters (GET Parameters) 웹 페이지의 url 주소에 종종 ? 가 포함되어 있는데 물음표 뒤에는 key=value 형식의 문자열이 따라온다. 이를 Query Parameter 라고 부른다. 주로 데이터를 조건으로 거르거나(Filtering), 특정 방식으로 정렬하거나(Sorting), 검색(Searching)하고자 하는 경우에 활용한다. Ex) http://example.com/foo?p=param1&q=param2 Filtering GET /products?category=신발&color=green GET /products?category=신발&color=green&color=yellow&size=240 & 키워드로 계속해서 필터링 조건을 붙일 수 있다. Orde..
2021.11.10 -
TIL43 | REST API
REST API REST(Representational State Transfer) 로이필딩이 논문에서 처음 소개. 웹이 HTTP를 제대로 사용하지 못하는 상황을 보고 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로 소개했다 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처 REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다 REST API 구성 REST API는 자원, 행위, 표현의 3가지 요소로 구성된다 자원 : URI 행위 : HTTP 요청 메소드 표현 : 페이로드 (자원에 대한 행위의 구체적 내용) REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다 즉, URI로 자원을 식별하고 자원에 대한 행..
2021.11.08 -
TIL40 | Westargram 마무리
오늘 할 일 TODO RESTful API 관련 영상 찾아보기 (노마드코드, 엘리) 파이썬 패키지 관리 requirements.txt, requirements-dev.txt [Python] requirements.txt로 패키지 관리하기 logging 설정하는 방법 알아놓기 Django SQL query logging 프로젝트 시작 전 정리 할 것 Git commit & PR convention parameter & table naming README.md 타이틀 작성 logging 설정 Modeling할 때 PK (unique=True) fake library 사용법 🎠️ Django Design Pattern URLconf (Router) Main urls.py app으로 라우팅 해주는 역할 Sub ..
2021.11.01 -
TIL37 | Westagram 회원가입 & 로그인 실습
💫️ 팀 과제 : 회원가입 / 로그인 실습 팀원 : 양성호, 신유진, 이지은 프론트 2명, 백엔드 1명으로 구성해 회원가입 및 로그인 실습 진행 환경 구성 서버 외부 접속 허용 동일 wi-fi 내 ip 주소 확인(우분투) : hostname -I 엔드 포인트 (request target 주소) 회원가입 http://10.58.6.96:8000/users/siginup 로그인 http://10.58.6.96:8000/users/login Server Run Python manage.py runserver **0:8000** 예외 처리 회원가입 key error duplicated account 로그인 key error account does not exist unauthorized 실습 화면 회원가입 개발..
2021.10.27