no image
SMTP 발송 vs SMTP 릴레이(Relay) 발송: 차이점과 장점
현재 운영중인 서비스 중 특정 프로세스에 접근 시 사용자 2차 인증 과정이 필요하다.현 프로세스에서 2차 인증 시, 2가지 방식으로 인증이 가능하다.1. FIDO 기반 2차 인증2. 외부 메일을 통한 OTP 인증위와 같이 2가지 방식으로 인증이 가능한데, 오늘은 2번 [외부 메일을 통한 OTP 인증] 시에 발생한 문제 사항에 대해 다루어 보려고 한다.서론현재는 OTP 인증 코드를 [일반 SMTP 발송]을 통해 처리하고 있었다.평소에는 위와 같은 방식이 문제없이 처리 되었지만, 특정 시즌이 되면 사용자가 몰리는 특성을 가진 서비스이기에 사용자가 몰릴 경우 아래와 같은 크리티컬한 문제들이 발생했다.1. 발신 서버 과부하2. 수신자 서버에서 이메일을 거부하거나 스팸으로 분류위 사항들을 개선하기 위하여 [SMT..
2024.06.24
no image
Apache-Tomcat server.xml 파일이란?
서론Apache-Tomcat은 널리 사용되는 오픈 소스 서블릿 컨테이너다.Java 기반 Web Application을 구동하는데 필수적인 역할을 한다.톰캣 설정 파일 중 하나인 server.xml은 서버의 다양한 요소와 동작을 정의하는 데 사용된다.예를 들자면 포트, 이벤트 리스터, DB 접속정보, 웹 리소스 참조경로 등 다양한 정보를 설정가능하다.그럼 server.xml에 대해서 알아보자. server.xml 위치톰캣의 server.xml 파일은 보통 conf 폴더 내에 위치하게 된다. 본론1. server는 톰캣 서버의 최상위 요소로, 서버의 전체 설정을 정의한다.- port: 톰캣이 종료 명령을 수신할 포트 번호 (기본값은 8005)- shutdown: 톰캣을 종료하기 위한 명령어 (기본값은 SHU..
2024.05.16
no image
[Library] 라이브러리 버전 업데이트
서론현재 운영서버에서 사용 중인 Apache Commons FileUpload 버전에서 보안 취약점이 발견된 것으로 확인하여 업데이트가 필요했다.운영에서 Maven과 Gradle 같은 종속성 관리 도구를 따로 사용하지 않기 때문에 직접 최신 버전 라이브러리(.jar) 파일을 다운로드하여 FTP를 통해 수정했다. 본론1. 현재 버전 확인먼저 현재 사용 중인 Apache Commons FileUpload 라이브러리의 버전을 확인한다.이것은 종속성 관리 도구 (예: Maven, Gradle)의 설정 파일 또는 프로젝트의 라이브러리 폴더에서 확인할 수 있다. 2. 최신 버전 다운로드Apache Commons FileUpload의 최신 버전을 다운로드한다.다운로드 페이지에서 직접 다운로드해 FTP를 통해 넘겨줄 ..
2024.04.25
no image
[브라우저] 크로스 브라우징
웹 개발자들은 다양한 브라우저와 기기에서 웹 애플리케이션이 원활하게 작동하도록 보장하기 위해 크로스 브라우징에 주목한다. 1. 크로스 브라우징이란?크로스 브라우징은 웹 애플리케이션이 여러 브라우저와 플랫폼에서 일관된 경험을 제공할 수 있도록 하는 웹 개발의 한 영역이다.주요 브라우저들은 각자의 표준을 따르기 때문에, 이러한 다양성으로 인해 동일한 코드가 모든 환경에서 잘 동작하지 않을 수 있다. 한국에서는 보통 크로스 브라우징 대응하는 범위는 아래와 같다.1. Chrome2. Safari3. Edge4. Samsung Internet5. Explorer 116. Android 4.4+  2. 크로스 브라우징의 중요성사용자 경험 향상: 다양한 브라우저 및 기기에서 일관된 UI와 UX를 제공하여 사용자들에게..
2024.01.16
no image
[WEB] HTTP 상태 코드
HTTP 상태 코드: 요청과 응답의 비밀번호HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받는 데 사용되는 프로토콜로, 서버와 클라이언트 간의 통신을 관리한다. HTTP 통신에서 상태 코드는 서버에서 클라이언트에게 현재 요청의 성공 또는 실패 여부를 알려주는 중요한 정보다. 상태 코드는 3자리 숫자로 표현되며, 각 숫자 그룹은 특정 의미를 가진다. 주요 상태 코드1xx (Informational) : 요청이 수신되어 처리중2xx (Successful) : 요청이 성공적으로 처리됨3xx (Redirection) : 요청이 완료되려면 추가적인 조치가 필요4xx (Client Error) : 클라이언트 오류, 오타 또는 잘못된 문법5xx (Server Error) : 서버 ..
2023.10.19
no image
Redirect vs Forward 차이점
웹 개발에서 리다이렉트와 포워드는 두 가지 다른 방식으로 클라이언트의 요청을 처리하고, 각각 다른 목적과 동작을 한다. Redirect 방식리다이렉트는 클라이언트의 요청을 다른 URL로 전환하는 메커니즘이다.주로 다음과 같은 상황에서 사용된다.페이지 이동: 사용자를 다른 웹 페이지로 이동하도록 하려는 경우, 클라이언트의 브라우저에게 새로운 URL로 이동하라는 명령을 보내는 방식으로 작동.URL 변경: 사용자가 잘못된 URL을 요청했을 때, 올바른 URL로 리다이렉트하여 사용자 경험을 향상함.외부 리소스 연결: 다른 도메인에 있는 외부 리소스에 연결하려는 경우, 클라이언트를 외부 도메인의 URL로 리다이렉트 할 수 있다.새로운 객체 생성: 다른 웹 컨테이너에 있는 주소로 이동하며 새로운 페이지에서는 Req..
2023.10.16
no image
[클라우드] IaaS, PaaS, SaaS 란?
SaaS (Software as a service)Saas는 최종 사용자에게 애플리케이션을 웹 브라우저를 통해 제공하는 모델이다.위 이미지와 같이 클라우드에서 모든 것을 제공함으로 사용자가 별도로 설치나 부담이 없다.손쉬운 접근성과 업그레이드 빛 보안 업데이트를 간편하게 제공하는 장점이 있지만 외부의 데이터 노출에 대한 위험성이 있다.사용자 관리 영역 : X기업(클라우드) 제공 영역 : 모든 애플리케이션 제공 IaaS (Infrastructure as a service)IaaS는 클라우드 컴퓨팅의 가장 기본적인 형태로, 인프라스트럭처를 가상화하여 제공한다.서버, 스토리지, 네트워킹 등의 하드웨어 리소스를 가상 머신 형태로 제공하고, 사용자는 이를 관리하고 운영체제, 애플리케이션 등을 스스로 설치해 설정할..
2023.10.13
no image
[Cache] 브라우저 캐시 삭제 및 초기화
Cache-ControlCache-Control: no-storeCache-Control: no-cacheCache-Control: must-revalidate AgeCache-Control: public, max-age=3600 ExpiresExpires: Mon, 06 Jan 1990 07:28:00 GMT HTML 헤더에 작성 시 예제
2023.08.18
no image
[Java] 자바 1.7 버전 설치 및 환경변수 설정
https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html 위 링크를 통해 이동한 뒤 스크롤을 조금 내리면  Java SE Development Kit 7u80 이라고 있습니다. 해당 위치에서 알맞은 운영체제를 선택하여 파일을 받아주시면 됩니다. 필자는 윈도우(64비트) 운영체제이므로 아래와 같은 파일을 다운로드하였습니다.  설치된 파일을 [관리자 권한]으로 실행시켜 준다. 위와 같이 나타나면 Next를 눌러준다.   JDK 설치는 완료.명령 프롬프트(cmd)를 통해서 정상적으로 설치되었는지 version을 확인해 본다.java -versionjavac -version 자바 버전은 정상적으로 1.7로 출력되지만, 자바 컴파..
2023.08.10