
[Day34] 쇼핑몰 실습 - JWT & Salt
Hash & Salt Salt : 사용자마다 고유한 난수를 생성하여 해싱할 때 추가 Hashing : 단방향 암호화 방식으로 저장된 비밀번호를 보호 목적: 데이터 무결성 검증 및 보안을 위해 해시 값에 추가적인 무작위 데이터(Salt)를 더하는 것 해시는 주어진 데이터를 고정된 길이의 값으로 변환하는 방식 같은 입력값이면 항상...
Hash & Salt Salt : 사용자마다 고유한 난수를 생성하여 해싱할 때 추가 Hashing : 단방향 암호화 방식으로 저장된 비밀번호를 보호 목적: 데이터 무결성 검증 및 보안을 위해 해시 값에 추가적인 무작위 데이터(Salt)를 더하는 것 해시는 주어진 데이터를 고정된 길이의 값으로 변환하는 방식 같은 입력값이면 항상...
📌 장바구니 기능 (로그인 인증이 필요한 기능) 1. DB 테이블 생성 CREATE TABLE cart ( email VARCHAR(50), prodcode INT, quantity INT, PRIMARY KEY (email, prodcode) ); 같은 사용자가 동일한 상품을 여러 번 담을 경우, 수량이 증가 2. Cart...
JSESSIONID가 요청 시 자동으로 포함되지 않는 문제와 해결 방법 프론트엔드 (:5500)에서 백엔드 (:8080)로 로그인 요청을 보낼 때 JSESSIONID를 받아 저장했지만, 이후 요청에서 쿠키가 자동으로 포함되지 않는 문제 발생. 방안 1. 구조 변경 프론트엔드를 백엔드 서버에서 서빙하여 동일한 도메인/포트를 사용하도록 변경. ...
XSS (Cross-Site Scripting) 취약점 XSS(크로스 사이트 스크립팅, Cross-Site Scripting)는 웹 보안 취약점 중 하나로, 공격자가 악성 스크립트를 웹사이트에 삽입하여 사용자의 브라우저에서 실행되도록 만드는 공격 기법 “사용자에게 친절해질수록 해커에게도 친절해질 수 있다!” 👉 보안을 위해 퉁명스러운 에러 ...
Cookie Cookie는 서버와 클라이언트가 지속적으로 데이터를 교환할 수 있도록 만들어진 작은 데이터 조각이다. 서버가 사용자의 웹 브라우저에 Cookie를 전송하면 브라우저는 이를 저장하고, 이후 Backend API 요청 시 자동으로 쿠키 데이터를 함께 전송한다. Cookie의 문제점 트래픽 증가: HTTP Header의 Set-...
📍 Pull Request Template .github/pull_request_template.md 파일을 만들어 PR을 작성할 때 일관성을 유지 ✅ 다양한 템플릿이 있으니 팀원과 상의해서 정하기 ! 아래는 하나의 예시 템플릿일 뿐 ## 개요 <!---- 변경 사항 및 관련 이슈에 대해 간단하게 작성해주세요. 어떻게보다 무엇을 왜 수정했는지...
오늘은 로그인과 CORS 위주로 실습이 진행되었다. 수업을 들을 땐 뭔가 따라가기 바빴는데 정리를 하면서 조금씩 이해가 된다 ! 로그인 처리 백엔드 (BACK) 데이터 접근 계층(DAO) : MemberDao.java 👉 데이터베이스에서 회원 정보 조회 데이터베이스에서 이메일과 비밀번호가 일치하는 회원 정보를 조회하는 메서드 조회된...
오늘은 백엔드에서 중요한 정보를 관리하는 방법에 대해서 배웠다. 유레카 교육이 시작한 후 계속해서 보안의 중요성에 대해 들었지만, 직접 코드에 적용을 해본 경험은 처음이라 어떤 보안이 중요하고, 이를 어떻게 적용하는지 알 수 있었다. 오후에는 회원 가입과 로그인 기능까지 구현을 했다. 뭔가 풀스택으로 기능을 구현하는거같아서 신기하기도 했지만 내가...
SQL 기본 문법 정리 📌 데이터베이스 생성 CREATE DATABASE IF NOT EXISTS `w3schools` /*!40100 DEFAULT CHARACTER SET utf8 */; 📌 데이터 조회 (SELECT) 중복 제거 (DISTINCT) SELECT DISTINCT country FROM customers; SELEC...
SQL 기본 정리 SQL 데이터 타입 데이터 타입 설명 varchar 가변 길이 문자열 (최대 n 길이) char 고정 길이 문자열 int 정수형 데이터 ...