본문 바로가기

마루아라는 개발쟁이54

MSA 아키텍처 Spring Cloud Netflix 구조 :: 히스트릭스, 터빈, 유레카 서버, Config 서버, Zuul 서버 Spring Cloud Netflix Spring Cloud는, Spring boot를 기반으로 MSA 구축에 특화된 라이브러리들의 집합이다. Spring Cloud에는 Eureka, Hystrix, Ribbon, Zuul 등 많은 넷플릭스 OSS가 통합되어 있다. 지금 알아볼 내용은 넷플릭스 오픈소스 중에서도 Spring Cloud에 속해 있는 Spring Cloud Netflix가 되겠다. 프로젝트 전체 구성 구성 요소에 대해 하나하나 설명해 본다. ​ 1. Hystrix http://chanwookpark.github.io/hystrix/spring/2015/11/29/hystrix/ 원격 시스템이나 서비스를 호출하는 구간을 격리해 관리하고 모니티렁해주는 라이브러리. 히스트릭스 대시보드 서버는 분산.. 2023. 1. 2.
Token 인증 방식이란? Token 왜 쓸까 ? 보안성 더 이상 쿠키를 전달하지 않아도 된다 👉🏻 토큰 기반 인증 시스템을 사용하여 어플리케이션의 보안을 비교적 높일 수 있다. 보안이 뛰어나다❗️ 는 아니지만, 기존 방식에 비해 보안이 좋은 기술이라고 표현할 수 있을 것 같다. 하지만, 누군가 중간에 토큰을 탈취한다면 보안에 큰 취약점이 생긴다.❓ 그래서 토큰에 유효기간을 설정한다. 유효기간이 끝나면 새로운 Access Token을 발급받는 방식을 사용한다. 무상태 & 확장성 (stateless & scalability) 만약 세션을 서버 측에 저장하고 있고 서버를 여러 대를 사용하여 요청을 분산하였다고 생각해보자. 어떤 유저가 로그인 했을 때, 그 유저는 처음 로그인했던 그 서버에만 요청을 보내도록 설정해야한다. 서버를 옮기거.. 2023. 1. 2.
HTTP 인증방식2_토큰기반 인증, JWT 저번 포스팅에서 HTTP에서 인증이 필요한 이유와 인증방식 중 하나인 세션/쿠키기반 인증방식에 대해서 알아보았습니다. 세션/쿠키는 별도의 세션저장소를 두기때문에 DB의 부하가 생길수 있으며 확장성의 문제, 세션 하이재킹의 위험이 있었습니다. 이를 보완해서 나온 인증방식이 바로 토큰기반 인증방식입니다. 이번 포스팅에서는 토큰기반 인증을 알아보고 토큰기반 인증 중 가장 많이 사용되는 JWT에 대해서 알아보겠습니다. 🌱 토큰 기반 인증 동작방식 토큰 기반 시스템의 구현 방식은 시스템마다 크고작은 차이가 있겠지만, 대략적으로 보면 다음과 같습니다. 1. 사용자 로그인 요청 2. 서버에서 회원인지 확인합니다. 3. 계정정보가 정확하다면 유저에게 Access 토큰(Signed Token이라고도 합니다) 발급합니다... 2023. 1. 2.
DHTML 게시판 웹에디터 만들다 만놈 귀차니즘 발동;;; 만들다가 귀차나서 내비둠 폰트 굴림 돋움 궁서 Courier New Arial Black Impact 크기 1 2 3 4 5 ///////////////////////////////////////////// //BASIC EDIT FUNCTION ///////////////////////////////////////////// function htmlEdit(excute,values) { dhtml.focus(); targetText = dhtml.document.selection.createRange(); if(values==null) { targetText.execCommand(excute); }else{ targetText.execCommand(excute,"",values); .. 2022. 12. 7.
게시판 글쓰기에 HTML EDIT 달기 글쓰기에 에디터 달기 첨부파일 활용 굴림 굴림체 궁서 궁서체 돋움 돋움체 바탕 바탕체 Arial Tahoma Courier.. Times.. Wingdings 1 2 3 4 5 6 7 2022. 12. 7.
세션을 DB로 관리하기 + 쪽지 확인하기 아래에도 세션을 DB로 관리하는 법을 써주신 분이 계시지만, 대개 Zend에 나와있는 예제와 같은 기본구조를 사용하시는 것 같습니다. 그래서 이걸 한번 커스터마이징해보도록 하겠습니다. ------------------------------ [1] 대개의 경우, 회원 로그인에 세션을 사용합니다. 즉 회원으로 로그인하지 않으면 세션을 사용할 일이 없는 경우가 많습니다. 따라서 여기서는 회원 전용 세션만 관리하도록 하겠습니다. [2] 세션 테이블을 만들어서, 여기에 매번 insert, delete를 하는 것은 비록 테이블 크기가 작다고 하더라도 제법 부하를 줍니다. 따라서 여기서는 delete를 쓰지 않고 update만 사용하도록 하겠습니다. 회원이 몇만명이라고 할지라도 이게 더 나은 것 같더군요. 세션 테이.. 2022. 12. 7.
같은 아이디로 동시접속 하는걸 방지하는 방법 이 방법을 대한 정보를 얻을려고 정말 여러군데의 게시판 QnA를 돌아다니면 정보를 모아봤습니다. 근데 정작 중요한 건 100%의 답은 없다는 것입니다. 저도 지금 제가 하는 방법이 완벽한 방법이라고 자신 있게 말 할 수는없지만 꼼수로 사용하기에는 부족함이 없다고 생각 합니다. 사설이 길었네요.^^ 1. 로그 테이블을 만듭니다. 컬럼으로는 idx(자동증가키)컬럼, 아이디컬럼, 저장시간(now())컬럼, session.sessionID컬럼 2. 로그인 처리 페이지에서 session("userid") = "아이디값" 과 request.cookie("tmpUserid") = "아이디값" 세션과 쿠키에 각가 아이디 값을 담습니다. 세션을 끊는 방법은 session.Abandon()과 세션만료시간이 지나는 겁인데 .. 2022. 12. 6.
강제종료시 로그아웃 및 중복로그인 체크 중복로그인 체크를 해야하는데 컴포넌트를 만들 시간도 없고, 애플릿을 만들 시간도 없고.. 뭐 사실은 만들 자신이 없다는 말이 더 맞겠지만 ㅡㅡ;;; 그래서 아래와 같이 구성했습니다. onunload 로 페이지를 닫거나 새로고치거나 다른페이지로 이동할 시 이벤트를 잡을 수 있고, 각각의 구분도 할 수 있다는 걸 알고 있는 상태에서 어찌보면 꽁수 일수도 있지만... 하여튼 아래처럼 구성해봤습니다. 결~ 1) 화면쪽 common.js나 기타 link된 js파일젤 상단쯤에 아래와 같이 선언 아니면 해당 페이지 마다 을 선언해야됨 js파일과 > 중복 로그인 체크에 대해 - Alt+F4로 화면 닫을때는 인식됨 - Ctrl+Alt+Delete로 프로세스를 죽일때는 인식됨 - 파워를 꺼버리면.. 세션이 죽지 않음 문제.. 2022. 12. 6.
중복 로그인 처리 방법 Login 페이지를 모든 페이지에서 Include 로 사용한다는 가정하에 시작하겠습니다. 그리고 모든페이지에서의 로그인 여부는 로그인시 쿠키에 넣어준 값으로 체크를 합니다. -------------------------------------------------------------------------- ex.) if request.Cookies("test")("user_id") "" then 혹은 세션을 넣어준 쿠키와 실제 세션값과 비교 ' 정상 로그인일 경우 처리되는 루틴 로그인 처리된 로그인 페이지를 보여준다 else ' 비정상 로그인일 경우 처리되는 루틴 로그인 처리안된 그러니깐 아이디와 패스워드를 입력할수 있는 페이지를 보여준다 end if -----------------------------.. 2022. 12. 6.
ASP.NET에서 웹 서버에 파일 업로드 이 문서에서는 Visual C# .NET을 사용하여 웹 서버에 파일을 업로드하는 방법을 단계별로 설명합니다. 이 문서에서는 ASP.NET 파일(WebForm1.aspx) 및 해당 관련 코드 숨김 파일(WebForm1.aspx.cs)을 만들어서 Data라는 이름의 디렉터리에 파일을 업로드합니다. ASP.NET 응용 프로그램 만들기 Microsoft Visual Studio .NET에서 새 응용 프로그램을 만들어서 웹 서버에 파일을 업로드하려면 다음과 같이 하십시오. Microsoft Visual Studio .NET을 시작합니다. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 누릅니다. 새 프로젝트 대화 상자의 프로젝트 형식에서 Visual C# 프로젝트를 누른 다음 템플릿에서 ASP.NET 웹 응용.. 2022. 12. 6.