CSRF란, CSRF 동작원리, CSRF 방어방법
CSRF란, CSRF 동작원리, CSRF 방어방법 CSRF란 CSRF란, Cross Site Request Forgery의 약자로, 한글 뜻으로는 사이트간 요청 위조를 뜻합니다. CSRF는 웹 보안 취약점의 일종이며, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(데이터 수정, 삭제, 등록 등) 을 특정 웹사이트에 요청하게 하는 공격입니다. 예를 들어, 피해자의 전자 메일 주소를 변경하거나 암호를 변경하거나 자금이체를 하는 등의 동작을 수행하게 할 수 있습니다. 특성에 따라, 공격자는 사용자의 계정에 대한 완전한 제어권을 얻을 수 있을 수도 있습니다. CSRF 동작원리 CSRF가 성공하려면, 아래 3가지 조건이 만족되어야 합니다. 1. 사용자는 보안이 취약한 서버로부터 이미 로그인되어 있는 상태..
2022. 8. 3.
MVC패턴이란, Spring MVC란, Spring MVC 장점, Spring MVC
MVC패턴이란, Spring MVC란, Spring MVC 장점, Spring MVC MVC 패턴이란 MVC 패턴이란 Model(모델), View(뷰), Controller(컨트롤러)의 앞글자를 따서 이름지어진 디자인 패턴입니다. 각 컴포넌트는 아래와 같은 역할을 갖고 있습니다. 모델(Model): 애플리케이션 데이터만을 포함하고, 데이터 조작하는 로직을 포함하지 않습니다. 뷰(View) : 모델(데이터)를 사용자에게 표시합니다. 컨트롤러 (Controller): 뷰와 모델 사이에 컨트롤러가 있습니다. 뷰(또는 다른 외부 소스)에 의해 변경요청된 이벤트들을 감지하고, 이러한 이벤트들에 대한 적절한 로직을 실행합니다. 세 가지 구성요소의 관계를 그림으로 표현하면 다음과 같이 표현할 수 있습니다. @star..
2022. 7. 6.
객체지향(Object-oriented)용어 - 상속, 다형성, 메소드오버로딩, 메소드오버라이딩, inheritance, method override, method overload
객체지향(Object-oriented)용어 - 상속, 다형성, 메소드오버로딩, 메소드오버라이딩, inheritance, method override, method overload 상속(Inheritance) 상속은 객체 지향 프로그래밍(OOP) 언어의 핵심 개념 중 하나입니다. 한 클래스의 어트리뷰트와 메소드를 공유할 수 있도록 하는 메커니즘입니다. 상속된 클래스는 상위 클래스의 "하위 클래스" 혹은 "차일드 클래스"라고 합니다. 상속을 통해 프로그래머는 기존 클래스의 동일한 동작을 유지하면서 새로운 구현을 지정하고, 코드를 재사용하며, 공용 클래스와 인터페이스를 통해 코드를 확장할 수 있습니다. 상속을 활용한 코드의 예 class A{ int a = 0; public void print(){ Syste..
2022. 4. 25.
객체지향(Object-oriented)용어 - ADT, Class, Object, 클래스, 오브젝트
객체지향(Object-oriented)용어 - ADT, Class, Object, 클래스, 오브젝트 객체지향(Object-oriented) 는 재사용성과 유연성을 위해 도입된 프로그래밍 패러다임입니다. Class 기반으로 개발을 하며, ADT, 상속(Inheritance), 다형성(Polymorphism)으로 구성되어있습니다. Object oriented를 구성하는 각각의 용어에 대해 알아보겠습니다. Abstract Data Type (ADT) ADT, 추상적 데이터 타입은 데이터의 캡슐화(encapsulation)와 데이터에 연관된 동작(operation)을 하나의 단위(single syntactic unit)에 포함한 것입니다. 클래스(Class) 클래스는 ADT라는 개념을 실제로 구현한 것입니다. ..
2022. 3. 31.
디자인패턴이란, GoF디자인패턴이란, 디자인패턴의유래, 패턴을쓰는이유,
디자인패턴이란, GoF디자인패턴이란, 디자인패턴의유래, 패턴을쓰는이유, 디자인패턴이란, 디자인 패턴의 유래? 건축가인 크리스토퍼 알렉산더(Christopher Alexander) 가 건물및 도시 설계를 개선하기 위해 반복되는 행태와 환경을 패턴으로 정리해본것이 디자인패턴의 시초입니다. 전문가들은 종종 새롭지만 비슷한 문제를 맞닥뜨리는데, 이전에 사용했었던 경험들을 토대로 문제를 풀고, 이전에 문제를 풀었던 방식을 재사용합니다. 다양한 분야의 전문가들은 반복되는 방법을 패턴으로 정리하였습니다. 소프트웨어 개발에서 또한 이러한 방법론이 연구되어 디자인패턴이 만들어졌습니다. 소프트웨어 디자인패턴의 역사 - 1977년: The architect Christopher Alexander, A Pattern Lang..
2022. 3. 29.