본문 바로가기

전체 글722

[Flutter] Drawer 위젯 만들어보기 앱을 사용하면서 메뉴 화면이 슬라이딩 되는 것이 신기하기도 하고 구현하기가 굉장히 어렵고 노가다가 많을 것 같다는 생각이 들었었는데 Flutter를 사용하면 의외로 간단하게 만들 수 있다. 먼저 간단한 테스트를 위한 앱이기 때문에 동적으로 액션이 들어가는 부분이 없어서 StatelessWidget으로 생성하고, 앱 화면을 그리기 위해 Scaffold 위젯을 사용하였다. body는 중요하지 않아 임의의 텍스트를 표시하였다. class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: .. 2020. 9. 11.
[WEB] certbot으로 Let's Encrypt 인증서 발급 받기 Let's Encrypt는 TLS 인증서를 무료로 발급해주는 서비스이고, certbot은 Let's Encrypt에서 인증서 발급을 간단하게 할 수 있는 CLI 도구이다. certbot과 Let's Encrypt에 대한 자세한 설명은 생략한다. 아래 링크 참고 certbot Let's Encrypt 인증서 발급 절차 certbot 설치 sudo apt-get update sudo apt-get install -y certbot wildcard 인증서보다는 사용할 서브 도메인만 축소해서 관리하는 것이 보안적으로 더 안전하기 때문에 여기서는 사용할 서브 도메인으로 인증서를 발급받는다. sudo certbot certonly --manual -d "3min.yonghochoi.com" option으로 —man.. 2020. 9. 7.
[WEB] 쿠키 개념 잡기 쿠키 사용 목적 세션 관리 서버에 저장해야할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화 사용자 선호, 테마 등의 정보 트래킹 사용자 행동을 기록하고 분석 사전 지식 어떠한 서버도 HTTP 통신을 한다면 쿠키를 주고 받을 수 있다. 클라이언트에서도 쿠키에 접근하고 관리할 수 있다. HTTP와 HTTPS 사이에도 쿠키를 교환할 수 있다. 같은 도메인이라면 서로 다른 Scheme일지라도 쿠키를 공유할 수 있다. 쿠키는 서버든 클라이언트든 생성할 수 있다. 쿠키가 생성되면 브라우저는 해당 쿠키 정보를 저장한다. 생성 이후 발생하는 모든 Request에 쿠키를 포함하여 서버에 전달한다. 보안 위협 수많은 사이트에서 민감한 개인정보를 쿠키에 저장하고 있다. 해커들은 다양한 방법으로 이 쿠키를 탈취하려고.. 2020. 9. 6.
[WEB] 토큰 기반 인증 이 글에서는 토큰 기반 인증에 대한 여러 글들을 조사하여 정리하였습니다. 참조한 레퍼런스는 하단에 링크 첨부하였습니다. 서버 기반 인증의 문제점 세션을 서버 메모리에 저장할 경우 사용자가 해당 서버로 접속해야만 세션이 유지됨 별도DB에 저장 할 경우 모든 웹 서버가 세션 DB에 의존성이 생김 세션 관리를 위해 쿠키가 많이 사용되는데 쿠키는 단일 도메인 또는 서브도메인에서만 작동하도록 설계 되어 있음 (CORS 문제). 즉, 쿠키 사용시 CORS 설정을 해야하기 때문에 도메인 분리가 번거러움 토큰 인증 방법 토큰에는 서버에서 정상적으로 발급된 토큰임을 증명하는 signature를 포함하고 있음 클라이언트에서는 토큰을 받급 받은 후 매 요청마다 토큰을 함께 서버에 전달 서버 전달 시 HTTP Header에 .. 2020. 9. 4.