• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Next.js 게시판 유저 1명만 있을 때 로그인

유저 1명만 있을 때 로그인

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #116508

    강호연
    참가자
    개인 블로그 같은 걸 만드는 중입니다. 
    발행한 게시물에 대한 수정 삭제 권한을 갖는 admin 유저 1명만 생성하여 관리하려는데, 구현을 하다보니 의문이 들어서 문의드립니다.
    유저 한 명을 등록하려고 DB를 쓰는 게 의미가 있나 싶어서 
    .env 파일에  ADMIN_ID = '아이디', ADMIN_PW = '비번' 이렇게 만들어두고 
    서버단(api)에서 프론트에서 보낸 id, pw에 대해 id === process.env.ADMIN_ID, pw === process.env.ADMIN_PW 을 확인하고 JWT 발행하여 admin페이지 접근을 제한했습니다.
    
    우선, db를 쓰지 않고 이런 방식으로 로그인 처리를 해도 문제가 없는지 궁금합니다.
    
    추가로 SQL injection 같은 게 가능한지 테스트하려고
    id에 1==1||'1' 이런 걸 넣어서 로그인 시도를 해보니 id === process.env.ADMIN_ID 이 부분이 false로 뜨면서 로그인이 안 되는데,
    1==1||'1' == process.env.ADMIN_ID 이걸 콘솔 찍어보니 또 true로 나옵니다.
    
    
    // pages/api/siginin.ts
    let { id, pw } = JSON.parse(req.body);
      console.log(id == process.env.ADMIN_ID) // id에 1==1||'1'  보내면 false
      console.log(1==1||'1' == process.env.ADMIN_ID) // true
      if (id === process.env.ADMIN_ID) {
        if (pw === process.env.ADMIN_PW) {
          ...JWT 발행
        }
      }
    위 두 개가 왜 다른 결과가 나오는지 궁금합니다.
    
     
     
     
    #116538

    codingapple
    키 마스터
    DB없어도 별문제는 없어보입니다
    1==1||'1' 보낸건 아마 문자 자료형일텐데 그래서 동작안할듯요
    
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠