[Normaltic's 취업반 과제] jwt 로그인 유지
2024. 5. 8. 23:08ㆍ정보보안 및 해킹/Normaltic's 취업반 과제
아이고....
로그인 구현을 해놓고 쿠키로 보내주질 않아서 로그인 유지를 하질 못하고 있었다..
index.php
맨 앞 부분에서 GET방식으로 login_id를 받아오던 것을 COOKIE를 받아오는 것으로 변경하였다.
물론, 그 쿠키 안에는 JWT가 들어있다.
if (!isset($_COOKIE['jwt'])) {
header("location: login.php");
exit;
}
로그아웃
쿠키는 삭제하는 방법이 따로 없기 때문에 만료 시간을 과거로 되돌려주는 수밖에 없는데, 그것이 time() - 3600 이다.
그리고 다시 index.php페이지를 열기 위해서 index.php로 redirect 해준다.
if (isset($_POST["logout"])) {
setcookie("jwt", "", time() - 3600, '/');
unset($_COOKIE['jwt']);
header("location: index.php");
exit;
}
jwt_func.php
jwt를 만든 뒤에 쿠키로 만들어 주는 부분이다.
jwt는 쿠키 이름이고, $token은 유저 정보, 뒤에는 만료 기간이다.
$token = $jwt->hashing(array(
'exp' => time() + (360 * 30), // 만료기간
'iat' => time(), // 생성일
'id' => $user_id,
'email' => $email,
'password' => $password
));
setcookie('jwt', $token, time() + (86400 * 15), "/");
'정보보안 및 해킹 > Normaltic's 취업반 과제' 카테고리의 다른 글
[Normaltic's 취업반 과제] js Cookie Hijacking (0) | 2024.05.14 |
---|---|
[Normaltic's 취업반 과제] 게시글 수정하기 (0) | 2024.05.12 |
[Normaltic's 취업반 과제] 게시판에 이미지 / 파일 등록하기 (0) | 2024.05.07 |
[Normaltic's 취업반 과제] 게시판에 글 등록하기 (2) | 2024.05.05 |
[Normaltic's 취업반 과제] jwt를 이용한 로그인 (0) | 2024.05.03 |