<TIL> 06. console 체크의 중요성, JWT, decoding, token

YUJIN LEE·2023년 2월 11일
0

개발log

목록 보기
6/149

오늘 console 체크의 중요성을 깨달았다.

@app.route("/main", methods=["POST"])
def save_main():
titles_receive = request.form['titles_give']
descs_receive = request.form['descs_give']
comments_receive = request.form['comments_give']
print(titles_receive, descs_receive,comments_receive)
doc = {
'titles':titles_receive,
'descs':descs_receive,
'comments':comments_receive
}
db.show.insert_one(doc)
return jsonify({'msg': '저장 완료!'})

이러한 db로 저장하는 과정에서
html 태그 " 하나를 빼먹어서 그거 하나 찾는데 1시간 정도나 썼다..
다음번에는 디버그를 생활화해야지...


'exp': datetime.utcnow() + timedelta(seconds=60 60 1) # 로그인 1시간 유지 -> 해커 취약점 방지 로그인 시간 조정

jwt의 취약점은 해커에게 암호화된 키를 해석할 수 있는 시간을 줄 수 있다는 것이다
그렇기 때문에 이 코드를 더하면, 로그인 시간을 우리가 조정할 수 있다.

password_hash = hashlib.sha256(user_pwd.encode('utf-8')).hexdigest()

비밀번호 암호화하는 문구.

@app.route("/sign", methods=["POST"])
def sign_post():
user_name = request.form['name_give']
user_pwd = request.form['pwd_give']
user_pwd_re = request.form['pwd_re_give']
print(user_pwd, user_pwd_re)
if (user_pwd_re == user_pwd):
password_hash = hashlib.sha256(user_pwd.encode('utf-8')).hexdigest()
doc = {
"username": user_name, # 아이디
"password": password_hash, # 비밀번호
}
db.info.insert_one(doc) # 유저가 입력한 아이디, pw DB에 저장
return jsonify({'result': 'success'})
else:
return jsonify({'result': 'fail','msg': '비밀번호가 일치하지 않습니다.'})

@app.route("/main", methods=["POST"])
def save_main():
titles_receive = request.form['titles_give']
descs_receive = request.form['descs_give']
comments_receive = request.form['comments_give']
mytoken = request.cookies.get('mytoken')
payload = jwt.decode(mytoken, app.SECRET_KEY, "HS256")
print(payload)
name = payload['id']

제일 고생했던, 디코딩이다.
솔직히 이건 아직까지도 잘 모르겠다..
payload로 디코드를 한 후
payload id값을 가져와 닉네임을 추출하였다.
로그인 회원가입을 스스로 처음 구현해봤는데,
처음엔 재밌었지만, 디코딩이라는걸 할때부터 구글에 정보도 별로없어서
너무 힘들고 오늘 22시간동안 쉬지않고 프로젝트를 해서 지금도 너무 지친 상태이다..
사실 마지막 5시간정도는 멍때리면서 있었던 것 같다.
해커톤과 같이 몰입하여 코딩한 경험은 정말 좋았지만,
건강이 나빠지는 기분이 들어서 솔직히 다시는 하고싶지않다.
그래도 언제나 코딩에 몰입하는건 재밌고
오류를 해결하는 과정이 재밌어서 나는 개발이 재밌다.
개발공부를 더 열심히해서 인정받는 개발자가 되고싶다...

profile
인정받는 개발자가 되고싶습니다.

0개의 댓글