일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 로그인페이지
- CTF
- 모의해킹
- 세션
- cors
- 과제
- 로그인
- Los
- XSS
- 웹개발
- csrf
- JWT
- MySQL
- 게시판 만들기
- cookie 탈취
- Cross Site Request Forgery
- file upload
- sql injection point
- Error based sql injection
- lord of sqli
- Reflected Xss
- union sql injection
- Python
- css
- sql injection
- blind sql injection
- JS
- 쿠키
- lord of sql injection
- php
- Today
- Total
목록모의해킹/웹 개발 (25)
Almon Dev

게시판 만들기 기본 베이스 만들기login_successful.phpsub; $sql = "select nickname,profile_img_path from users where user_id='$user_id'"; $sql_result = runSQL($sql)->fetch_array(); $nickname = $sql_result["nickname"]; if(!$profile_img_path = $sql_result["profile_img_path"]) { $profile_img_path = "almond-profile.jpg"; } } catch(Exception $e) { // 인증..

로그인 로직 구현하기 사전작업비밀번호에 해쉬를 저장하기 위해서 varchar(512)로 최대 512바이트까지 저장하도록 변경했습니다.alter table users modify column password varchar(512) not null; 식별 - 인증 동시sql문에서 식별과 인증을 동시에 하는 로직입니다.login1_proc.php $sql = "select nickname from users where id='$id' and password='$pass';";이 코드처럼 where과 and를 이용해 식별과 인증을 동시에 처리합니다. 식별 - 인증 분리login2_proc.php $sql = "select nickname,password from users where id='$id..

JWT로 로그인 구현하기 php에서 jwt를 사용하기 위해서는 firebase/php-jwt라는 패키지를 사용해야 합니다.php-jwt를 설치하기 위해서는 php의 패키지 관리 툴인 composer를 사용해야 합니다.composer 설치하기php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } el..

세션(Session)으로 로그인 구현하기 인덱스 페이지index.php수정 전 수정 후 session_start();사용자의 쿠키에 세션 ID가 있는지 확인하고, 없으면 세션 ID를 생성해 사용자의 쿠키에 저장합니다.세션 ID가 있는 경우 세션 ID와 일치하는 파일을 찾아서 내용을 읽어 $_SESSION 배열에 저장합니다. if (isset($_SESSION["user_id"])) { header("Location: login_successful.php"); exit;세션에 user_id가 있는 경우 프로필 페이지로 이동합니다. }else { header("Location: login2.php"); exit;세션에 user_id가 없는 경우 로그인 페이지로 이동합니다. 세션 파일..

쿠키(Cookie)로 로그인 구현하기 인덱스 페이지index.php if (isset($_COOKIE['user_id'])){isset() 함수를 이용해서 요청에 같이 온 쿠키 중에 user_id라는 이름의 값이 세팅되어 있는지 확인합니다. header("Location: login_successful.php"); exit;쿠키가 존재한다면 프로필 페이지로 리다이렉션 시킵니다. exit를 이용해서 코드를 바로 종료합니다. }else { header("Location: login2.php");}만일 쿠키가 없다면 로그인 페이지로 리다이렉션 시킵니다.로그인 페이지login2.php ..
중복확인 users.txt로 회원가입 페이지를 구현할 때 만들어둔 아이디, 닉네임 중복확인을 mysql을 이용하도록 수정했습니다 아이디 중복확인 check_userId.php수정 전 !$duplication]);?> 수정 후num_rows > 0) { $duplication = true; } header("Content-Type: apllication/json"); echo json_encode(['pass' => !$duplication]);?> duplicate_check.js idInput.addEventListener('input', () => { const userId = idInput.value; fetch('/api/users/check_userId...

마이페이지 만들기 구상하기처음에는 따로 마이페이지를 만들고자 했으나 프로필 페이지의 아랫부분이 많이 남아서db를 통해 데이터를 가져온 뒤 프로필페이지의 아랫부분에 출력하기로 생각을 바꾸었습니다.HTML 수정 login_successful.php수정 전 구독자 0명 글쓰기 마이페이지 로그아웃', $nickname); ?> 수정 후 ..

로그아웃 기능 로그인 기능을 만들었지만 로그아웃 기능까지 만들려고 하니 수정이 필요해졌습니다.일단 mysql에 로그인 온/오프를 기록하기 위한 Boolean 타입 컬럼(열)을 하나 만들었습니다.그리고 로그인 시 1을 기록하고 로그아웃시 0을 기록하도록 변경하였습니다. login 컬럼 추가alter table users add login boolean not null;alter table로 테이블의 열을 추가, 제거 이름변경 등 속성을 변경할 수 있습니다.alter table [테이블명] add [컬럼명] [타입 및 속성];으로 컬럼을 추가해 줍니다. login_proc2.php 변경 수정전"; echo ""; echo ""; echo ""; exit; ..