normaltic 취업반 5기/과제(24)
-
[normaltic 취업반 5기] 2023-11-08 3주차 과제 : 추가 과제
JWT (JSON Web Token) JWT는 쿠키, 세션에 이은 인증 프로토콜 중 하나이다. 다만 쿠키나 세션 같이 어느 한 곳에 사용자 정보를 저장하는 방식이 아니라 토큰에 사용자 정보를 저장하여 인증하는 방식이다. 또한 토큰이 탈취되어 데이터가 위변조 된 상태로 요청되어도 위변조 검사가 가능하기 때문에 로그인 유지 및 식별에 많이 사용된다. JWT의 구조 JWT는 '.'을 구분자로, base64로 Header와 Payload를 인코딩한 값과 인코딩하지 않은 두 값에 비밀 키를 합쳐서 암호화한 값인 Signature로 구성되어 있다. 그럼 Header와 Payload, 그리고 Signature에 대해 알아보자. Header Header는 JSON 객체로 이루어져 있으며 암호화 알고리즘과 토큰의 타입에..
2023.11.11 -
[normaltic 취업반 5기] 2023-11-08 3주차 과제 : 3번 과제
3번 과제 목표 기능 : 로그인 페이지 로직 4개 구현 식별/인증 동시 식별/인증 분리 식별/인증 동시 with Hash 식별/인증 분리 with Hash 식별/인증 동시 수행 with Hash 1. 로그인 성공, 2. 비밀번호가 틀린 경우, 3. 아이디가 틀린 경우 식별/인증을 동시에 수행하는 경우 입력된 아이디와 비밀번호가 동시에 일치하는 데이터를 DB에서 조회한다. 조회된 결과가 존재하는 경우 로그인에 성공하고, 존재하지 않는 경우 로그인에 실패한다. 식별/인증 분리 수행 with Hash 1. 로그인 성공, 2. 비밀번호가 틀린 경우 식별/인증을 분리해서 수행하는 경우 입력된 아이디와 일치하는 데이터를 DB에서 조회한다. 조회된 결과(입력된 아이디가 DB에 존재)가 존재하는 경우 입력된 비밀번호와..
2023.11.11 -
[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 4번 과제 & 추가 미션
4번 과제 및 추가 미션 목표 기능 : 회원 가입 페이지 제작 및 기능 구현 추가 기능 : 유효성 검사, 아이디 중복 검사 기능 구현 추가 미션 : 각 계정의 정보를 볼 수 있는 마이 페이지 제작 및 기능 구현 sign_up.php sign_up.php 페이지 작동 순서는 다음과 같다. 이름, ID, Password, Password_Check, 나이를 입력란에 입력하면 POST 메소드 방식으로 sign_up_proc.php 페이지로 데이터를 전달한다. 회원가입 버튼을 누르면 sign_up_proc.php 페이지로 데이터를 전달하고 이동한다. sign_up_proc.php 1/2 sign_up_proc.php 페이지의 작동 순서는 다음과 같다. sign_up.php 페이지에서 전달받은 데이터를 각 변수에..
2023.11.06 -
[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 3번 과제
3번 과제 목표 기능 : 로그인 페이지에 DB와 연결하여 기능 구현 추가 기능 : 세션 기능 추가, 로그아웃 기능 추가 login.php login.php 페이지의 작동 순서는 다음과 같다. ID와 Password를 입력란에 입력하면 POST 메소드 방식으로 login_proc.php 페이지로 데이터를 전달한다. $_SESSION['login_error'] 세션 변수에 변수가 등록된 상태라면 로그인 버튼 하단에 '아이디 혹은 비밀번호가 틀렸습니다 다시 입력해주세요' 문자열을 출력한다. 그리고 $_SESSION['login_error'] 세션 변수를 해제한다. login_proc.php 1/2 login_proc.php 페이지의 작동 순서는 다음과 같다. 로그인 페이지에서 전달받은 데이터를 $id, $pa..
2023.11.06 -
[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 2번 과제
2번 과제 목표 기능 : GET 메소드로 데이터를 전달받아 name과 name에 해당하는 score를 출력한다. 추가 기능 : 데이터베이스에 저장되어 있는 목록 나열 기능, 입력된 값에 따른 코멘트 출력, 데이터베이스에 없는 이름 입력 시 코멘트 출력 테이블 생성 idx, name, score 속성을 가진 student 이름의 테이블을 생성했고 테이블에 3개의 데이터를 추가하였다. testDB.php 1/2 mysqli_connect 함수를 사용하여 DB와 연결 GET 메소드로 데이터 전달 시 get_name 변수에 저장 while 문을 통해 데이터베이스에 저장되어 있는 데이터 나열 while 문 안에서 get_name 값과 데이터베이스에 저장되어 있는 이름값과의 비교를 통하여 데이터베이스에 저장되어 있..
2023.11.02 -
[normaltic 취업반 5기] 2023-10-25 1주차 과제
Web Server 경로 웹 서버 루트 경로 : ~/webDev/webApp 루트 경로 내 디렉터리 및 파일: css, html, php, index.html index.html 파일 index.html 파일은 인사말과 버튼 두 개로 이루어져 있다. 로그인 버튼을 누르면 로그인 페이지로 이동하도록 구현되어있다. 회원가입 버튼을 누르면 회원가입 페이지로 이동하도록 구현되어 있지만 현재 회원가입 페이지는 개발 단계 login.html 파일 로그인 페이지에서는 태그 안에 태그로 ID, Password를 입력하는 공간을 구현하였다. 데이터 전달 방식을 POST 메서드를 사용함으로써 URL에 표시되지 않게 구현하였고 action 속성에 입력된 데이터를 전달하는 파일로 login.php를 입력하였다. '로그인' 버..
2023.10.30