본문 바로가기
728x90
반응형

Skills110

프론트엔드 보안의 한계와 서버의 책임 프론트엔드 개발을 하다 보면, UI 요소의 접근을 제어하는 기능을 종종 구현하게 됩니다. 예를 들어, 다음과 같이 삭제 버튼을 숨기거나 비활성화하는 방식입니다.  또는 이러한 처리는 사용자 인터페이스 상에서는 해당 기능이 차단된 것처럼 보이지만, 보안적인 측면에서는 완전한 차단이 아닙니다. 이는 단지 UI 상의 제어일 뿐이며, 클라이언트 측 조작을 통해 쉽게 우회할 수 있습니다.프론트엔드에서의 UI 제어는 보안 조치가 아니다Visible="false"로 설정된 버튼은 HTML에 렌더링되지 않지만, 사용자는 개발자 도구나 네트워크 탭을 통해 서버 요청 패턴을 분석하고 직접 요청을 보낼 수 있습니다.Enabled="false"로 설정된 버튼은 HTML 상에서는 disabled 속성으로 비활성화되지만, Jav.. 2025. 3. 31.
컨테이너와 VM의 차이, 그리고 컨테이너가 가진 장점 컨테이너와 VM의 차이, 그리고 컨테이너가 가진 장점은?개발자라면 한 번쯤은 들어봤을 VM(가상 머신)과 컨테이너(Container). 두 기술 모두 애플리케이션을 격리된 환경에서 실행할 수 있게 해주지만, 구조와 목적은 꽤 다릅니다. 이번 글에서는 이 둘의 차이를 알아보고, 왜 최근 개발과 배포 환경에서 컨테이너가 더 각광받고 있는지 정리해보았습니다.컨테이너와 VM의 구조 차이항목컨테이너가상 머신 (VM)가상화 방식OS 수준 가상화 (lightweight)하드웨어 수준 가상화 (heavyweight)실행 기반호스트 OS 위하이퍼바이저 위 (별도 게스트 OS 포함)구성앱 + 라이브러리앱 + 게스트 OS + 라이브러리이미지 크기작음 (수 MB~수백 MB)큼 (수 GB 이상)시작 속도매우 빠름 (거의 즉시).. 2025. 3. 21.
CORS, X-Frame-Options, iFrame, WebView, Same-Origin 개념 정리 웹 개발을 하다 보면 CORS, X-Frame-Options, iFrame, WebView, Same-Origin Policy(SOP) 같은 개념들이 자주 등장합니다. 하지만 이 개념들이 서로 연관되어 있어 헷갈리는 경우가 많습니다. 이번 포스팅에서는 각각의 개념을 명확하게 정리하고 비교해 보겠습니다.1. Same-Origin Policy (SOP, 동일 출처 정책)Same-Origin Policy란?Same-Origin Policy(SOP)는 웹 보안을 위해 같은 출처(Origin)의 리소스만 접근할 수 있도록 제한하는 보안 정책입니다.즉, JavaScript, fetch(), XMLHttpRequest 같은 API를 사용할 때, 다른 사이트의 데이터를 무단으로 가져오지 못하도록 차단하는 역할을 합니다.. 2025. 2. 26.
Java와 C#의 컴파일 방식의 공통점과 차이점 1. Java의 컴파일 및 실행 과정 Java는 다음과 같은 컴파일 및 실행 단계를 거칩니다:Java 소스 코드(.java): 개발자가 Java로 작성한 소스 코드.바이트코드(.class): Java 컴파일러(javac)가 .java 파일을 바이트코드인 .class 파일로 컴파일합니다. 이 바이트코드는 플랫폼 독립적입니다.JVM(Java Virtual Machine): JVM은 바이트코드를 읽고, 이를 기계어로 변환하여 실행합니다. Java는 이 과정에서 JIT(Just-In-Time) 컴파일을 사용하여 바이트코드를 실행 시점에 기계어로 변환합니다.이 흐름에서 JVM이 Java 바이트코드를 기계어로 변환하여 실행합니다.  2. C#의 컴파일 및 실행 과정 C#은 다음과 같은 컴파일 및 실행 단계를 거칩니.. 2024. 9. 7.
.NET의 컴파일 과정: C#에서 IL, DLL, JIT, 기계어까지, 그리고 CLR의 역할 .NET 애플리케이션은 코드가 컴파일되고 실행되는 과정에서 여러 단계의 변환을 거칩니다. 이 과정은 C#과 같은 고수준 언어에서 작성된 코드가 최종적으로 하드웨어에서 실행될 때까지의 복잡한 여정을 설명합니다. 이 포스팅에서는 C# 코드가 어떻게 실행되는지를 살펴보고, IL(Intermediate Language), DLL, JIT(Just-In-Time) 컴파일, 그리고 CLR(Common Language Runtime)이 각각 어떤 역할을 하는지 알아보겠습니다. 1. C# 코드 작성.NET 애플리케이션 개발자는 C#으로 소스 코드를 작성합니다. 예를 들어, 간단한 두 숫자를 더하는 클래스를 작성할 수 있습니다:// MyMath.cspublic class MyMath{ public int Add(i.. 2024. 9. 7.
aspx와 ascx의 차이 ASPX와 ASCX는 모두 ASP.NET 웹 애플리케이션에서 사용되는 파일 형식입니다. 둘 다 HTML과 서버 사이드 코드를 혼합하여 웹 페이지를 동적으로 생성하는 데 사용되지만, 각각의 목적과 사용 방식이 다릅니다. 1. ASPX (Active Server Pages Extended)정의: ASPX 파일은 ASP.NET에서 웹 페이지를 정의하는 파일입니다. 이 파일은 웹 애플리케이션의 개별 페이지를 구성하며, 사용자가 브라우저에서 직접 접근할 수 있는 단위입니다.구조: ASPX 파일은 HTML, CSS, JavaScript와 같은 클라이언트 사이드 코드와 서버 사이드 코드(예: C# 또는 VB.NET)를 포함할 수 있습니다. 서버 사이드 코드는 태그 사이에 작성되며, 페이지가 요청될 때 서버에서 실행.. 2024. 9. 7.
728x90
반응형