기본 콘텐츠로 건너뛰기

10월, 2023의 게시물 표시

자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에

자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에 AI 생성 이미지: 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에 정규식은 텍스트에서 패턴을 찾아내고 검증하며 필요한 부분을 추출할 때 가장 효율적인 도구 중 하나입니다. 이 글, 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에에서는 자바의 java.util.regex 를 기반으로 실제로 자주 쓰이는 패턴을 어떻게 정의하고 적용하는지 단계별로 설명합니다. 초반에는 Pattern 과 Matcher 의 핵심 개념을 짚고, 이후 숫자·이메일·전화번호 같은 실무 예제를 통해 바로 활용 가능한 코드를 제공합니다. 자바 정규식 예제 모음: 숫자·이메일·전화번호 패턴까지 한 번에와 함께 실전 감각을 키워보세요. 📚 목차 1. Pattern과 Matcher 기본 개념 2. 정규식 패턴 정의와 Pattern 생성 3. Matcher를 사용한 문자열 검색 4. 자주 사용하는 정규식 패턴 예제 5. 정리 및 활용 팁 1. Pattern과 Matcher 기본 개념 자바에서 정규식을 다룰 때 핵심이 되는 두 클래스는 Pattern 과 Matcher 입니다. 간단히 말해 Pattern 은 정규식 자체(컴파일된 형태)를 나타내고, Matcher 는 특정 입력 문자열에 그 패턴을 적용해 결과를 찾는 역할을 합니다. ...

TRUST_BOUNDARY_VIOLATION 취약점, 데이터 검증으로 예방하는 방법 (Java 코드 예제)

"TRUST_BOUNDARY_VIOLATION" 방지하는 데이터 유효성 검사 방법 (Java 코드 예제 포함) 보안은 모든 소프트웨어 애플리케이션과 시스템 개발에서 절대 빠질 수 없는 핵심 요소입니다. 특히 신뢰 경계(Trust Boundary) 를 넘나드는 데이터는 항상 의심하고 검증해야 합니다. "TRUST_BOUNDARY_VIOLATION" 은 이러한 신뢰 경계가 무너졌을 때 발생하는 보안 문제를 의미합니다. 외부에서 들어오는 데이터를 충분히 검증하지 않으면, 공격자가 시스템 내부 로직과 자원에 직접적인 영향을 줄 수 있습니다. 이 글에서는 TRUST_BOUNDARY_VIOLATION을 방지하기 위한 데이터 유효성 검사 방법 을 정리하고, 마지막에는 Java 코드 예제 도 함께 살펴봅니다. 1. TRUST_BOUNDARY_VIOLATION 이란? 신뢰 경계(Trust Boundary) 는 “여기까지는 신뢰할 수 있고, 여기부터는 신뢰할 수 없다”는 기준선을 의미합니다. 예를 들면: 브라우저 → 웹 서버로 들어오는 HTTP 요청 외부 시스템 → 내부 마이크로서비스로 전달되는 API 호출 사용자 입력 → 데이터베이스 쿼리로 전달되는 파라미터 TRUST_BOUNDARY_VIOLATION 은 이 신뢰 경계를 넘는 데이터에 대해 적절한 검증이 없거나, 검증이 불완전해서 공격자가 내부 시스템에 악영향을 끼칠 수 있는 상황을 말합니다. 결국 모든 외부 입력을 “기본적으로 불신하고 철저히 검증하는 것” 이 핵심 방어 전략입니다. 2. 입력 데이터 검증 (Validation) 데이터 유효성 검사의 첫 단계는 입력값 검증 입니다. 외부에서 들어오는 모든 입력은 불신 해야 하며, 다음과 같이 ...

JavaScript로 첨부파일 확장자 검사하기

JavaScript로 첨부파일 확장자 검사하기 AI 생성 이미지: JavaScript로 첨부파일 확장자 검사하기 🤖 AI 웹 서비스용 파일 업로드 보안 구현 AI 기반 웹 애플리케이션에서는 사용자가 생성한 AI 결과물 이나 LLM 분석 파일 을 업로드하도록 허용하는 경우가 많습니다. 이때 클라이언트 검증 없이 파일을 수신하면 .jsp , .exe 같은 실행 파일이 서버에 저장되어 보안 사고로 이어질 수 있습니다. 다음 예제는 결과 파일을 안전하게 제한하기 위한 간단한 프런트엔드 검사입니다. PDF, TXT, CSV 같은 형식만 허용하고 그 외 확장자는 차단합니다. 이 페이지는 JavaScript로 첨부파일 확장자 검사하기 목적에 맞춘 실용적 예제를 제공합니다. 🧠 코드 예제 const MSG_FILE_EXT_INVALID = "{0} 형식의 파일은 업로드할 수 없습니다."; const ALLOWED_EXT = ["pdf", "txt", "csv", "json"]; const BLOCKED_EXT = ["jsp", "php", "exe", "dll", "asp", "aspx", "js", "bat"]; function validateAIUpload(files) { for (let i = 0; i 🧩 업로드 폼 예제 <form id="uploadForm" onsubmit="return false;"> <h4>AI 모델 결과 파일 업로드</h4> <input type="file" id...