본문 바로가기

모카 스터디/Node

노드 [생활코딩]

코스 소개

 

사람이 웹페이지를 하나하나 직접 만드는것에 지침 ==> 통합적을 관리하는 것에 대한 필요성을 느낌

또한 웹사이트의 소유자만이 컨텐츠를 관리(수정,생상,제거)를 할 수 있었다.

+ 사용자에게 전송할 데이터를 생성 한다. 

 

그래서 HTML 작성을 기계에게 맞기고 싶다는 생각을 하게 되었고 왼쪽과 같은 기술들이 생겨나게 되었다.

 

즉, 웹사이트가 자동으로 컨텐츠를 HTML로 만든다. !

 

 

 

 

URL

 

 

 

 

동기와 비동기

노드는 비동기 처리를 하는데 아주 유용한 도구가 있다.

 

call back  다른 함수에 전달되어 나중에 호출되는 함수

HTML - Form

post방식으로하면 쿼리스트링을

url에 노출 안시키고 접근 가능

 

 

JavaScipt - 객체

 

둘다 정보를 정리하는 수납 상자와 같다.

배열은 순서대로 정리를 하고 숫자를 식별자로 준다.

객체는 순서가 없는 정보를 저장하기에 좋고 이름으로 식별자를 줄 수 있다.

 



 

OOP(Object Oriented Programming)   ==>데이터를 담는 그릇으로서의 객체

즉, 함수는 데이터로 쓸 수 있다 !

 

 

Module

배열, 객체, 함수와 같이 비슷한 것들끼리 뭉쳐놓은 끝판왕이 모듈이다.

 

 

 

 

 

 

 

이 모듈 밖에도 사용할 수 있게 !

보안

1. 오염된 정보가 들어올때

2.오염된 정보가 나갈때       ex)XSS

 

XSS (Cross-Site Scripting)는 웹 애플리케이션의 보안 취약점 중 하나로, 악의적인 사용자가 악성 스크립트를 삽입하여 다른 사용자의 웹 브라우저에서 실행되도록 하는 공격이다.

XSS 공격은 사용자가 입력한 데이터를 신뢰하지 않고 웹 페이지에 출력할 때 발생할 수 있다.

XSS 공격은 크로스 사이트 스크립팅이라는 용어에서 유래했습니다. 이 공격에서는 주로 HTML, JavaScript, CSS와 같은 클라이언트 측 스크립트 언어를 이용하여 악성 스크립트를 삽입합니다. 이 스크립트는 웹 페이지를 열람하는 다른 사용자의 브라우저에서 실행되어, 사용자의 세션을 탈취하거나 개인 정보를 유출하는 등의 악의적인 행동을 할 수 있습니다.

XSS 공격을 방지하기 위해서는 사용자로부터 입력 받은 데이터를 신뢰할 수 없다고 가정하고, 이를 안전하게 처리해야 합니다. 주요한 방어 방법은 다음과 같습니다:

  1. 입력 검증(Validation): 서버 측에서 사용자 입력을 검증하여 악성 스크립트를 필터링하거나 제거합니다.
  2. 출력 이스케이프(Output Escaping): 사용자 입력을 웹 페이지에 출력할 때, 특수 문자를 이스케이프하여 브라우저에서 스크립트로 해석되지 않도록 합니다.
  3. 콘텐츠 타입 설정(Content-Type): HTTP 응답 헤더에서 올바른 콘텐츠 타입을 설정하여 브라우저가 악성 스크립트를 실행하지 않도록 합니다.
  4. 쿠키 보호(Cookie Security): 보안 플래그를 설정하여 쿠키를 안전하게 전송하고, 쿠키에 중요한 정보를 저장하지 않도록 합니다.

XSS 공격은 웹 애플리케이션 보안을 위해 신경써야 할 중요한 취약점 중 하나입니다. 따라서 웹 개발자들은 입력 검증과 출력 이스케이프 등의 보안 조치를 적용하여 XSS 공격으로부터 애플리케이션을 보호해야 합니다.