Web
-
[Error] return undefinedWeb 2019. 11. 21. 00:32
key값을 받아 해당 쿠키값을 리턴하는 함수를 작성했다 다른 함수에서 호출했는데 return 값이 자꾸 undefined 이 떴다 console.log 는 잘 찍히는데 왜지?? 코드를 확인했다 const getCookie = (key) =>{ const cookieArr = document.cookie.split(";"); cookieArr.forEach(item=>{ let data = item.split("="); if(data[0].trim() === key){ console.log(data[1]); return data[1]; } }); } foreach() 에 return 부분이 문제인것같다..(왜 문제인진 정확히 모르겠다..) 수정 후 const getCookie = (key) =>{ cons..
-
[nodejs] 암호화 - crypto 모듈Web 2019. 5. 31. 03:28
사전지식 - 암호학 - 문자 인코딩 개념(base64, hex, ascii, utf8) *암호함수는 비트열이 담긴 버퍼를 생성하는 것이기 때문에 이것을 어떤방식으로 읽을지(문자 인코딩방식)를 지정해야한다. nodejs crypto 모듈 레퍼런스 https://nodejs.org/api/crypto.html nodejs 내장모듈임 crypto패키지 에서 제공되는 암호화 기법 -대칭키/비대칭키 암호 -Hash -DH(Diffie Hellman) -ECDH -Hmac -Sign -Verify -Certificate 자주쓰이는 함수 buffer.toString() buffer.toString(인코딩) randomBytes() : randomBytes(바이트수, callback(error, buffer){ });..
-
클라이언트에서 서버로 데이터 전송(form/ajax-xml, fetch/WebSocket)Web 2019. 5. 29. 02:22
사전지식 http message 구조 http header 옵션 request-response 방식에 대한 이해 클라이언트가 서버로 전송하는것은 HTTP Request 이다. 다음의 기술들은 이 HTTP Request를 만들어 서버로 보내는 방법들이다. 요청에는 기본적으로 method와 url이 설정되어야 한다. HTTP form mothod : http method 설정 값은 GET 또는 POST action : 요청할 url 설정 input type이 submit으로 설정된 버튼을 누르면 form 태그 자손 중 input태그의 value값들을 서버로 전송한다. form은 클라이언트가 서버로부터 응답을 기다려야한다.(동기) JavaScript AJAX Asynchronous Javascript And ..
-
사용자 인증(로그인) 방식Web 2019. 5. 27. 01:03
HTTP는 Stateless 서비스이다. 기본적으로 각각의 요청을 완전히 별개의 것으로 인식한다. 현재 요청이 이전 사용자와 같은 사용자인지 판별하려면 다음과 같은 방식이 있다. Basic OAuth 1. 서버에 사용자 정보를 저장(세션) =>사용자수가 많으면 서버자원소모가 심함 session관리용 서버를 분리해야할수도 2. 토큰인증 방식 => ID/PW 일치를 확인하면 서버에서 토큰 발행 토큰에는 사용자식별정보가 들어가고 위조하기 어려워야한다. 이런 서비스를 위한 웹 표준으로 JWT, OAuth가 있다. JWT(Json Web Token) - 데이터 구조 aaaaaa.bbbbbb.cccccc 헤더(header).내용(payload).서명(signature) - 헤더 아래의 2가지 정보가 담김 type ..
-
[nodejs] express 사용하기Web 2019. 5. 25. 04:25
이글의 사전지식 HTTP 프로토콜 WEB의 동작 및 구조 JS ES6 이상 표준문법 nodejs express? nodejs의 프레임워크. 웹서버기능을 간단한 api로 제공한다. 서버가 갖추어야할 기본 기능? -요청 리스닝 -응답 전송 -요청 URI 라우팅 : 요청 URI에 따라 처리를 다르게하려면 라우팅해서 구분할 수 있어야함 -request message 파싱 -정적/동적 문서 생성(템플릿 이용) express 모듈 불러오기 const express = require("express"); const app = express(); 이 app객체로 모든 기능 처리 app.listen() : 리스닝 app.listen(port, callback) app.listen(3000, ()=>{ console.lo..
-
[Web] quick nodejsWeb 2019. 5. 25. 03:03
NodeJS ? 구글의 Chrome V8 엔진에서 작동하는 자바스크립트. 자바스크립트의 런타임환경을 말한다. SSS를 위해 WAS용으로 많이 이용하지만 데스크탑어플 등 다양하게 사용가능 다운 https://nodejs.org/ nodejs 버전확인 node -v nodejs 특징 - 이벤트기반 - non-blocking I/O : 비동기처리(콜백). deadlock 걱정X 가벼운 실시간 서비스에 적합 *nodejs의 설정파일 파일 설명 package.json 프로젝트를 관리하는데 필요한 정보가 들어있음(명세) - 프로젝트에 대한 정보 - 이 프로젝트에서 필요한 패키지버전 및 목록 (패키지는 (뒤에서 설명할) npm으로 설치한 모듈을 말함) - 의존성 패키지 버전 및 목록 (특정 패키지를 사용하려면 먼저 ..
-
Web Secure HeadersWeb 2019. 5. 17. 14:45
https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#hsts OWASP Secure Headers Project - OWASP Join hundreds of other Developers and InfoSec professionals for Training, Sessions and Community at our first conference of 2019[AppSec Tel Aviv, May 26-30th] www.owasp.org 헤더이름 앞에 X가 붙은것은 보통 사용자정의헤더를 말한다. 예전엔 사용자정의시 X를 꼭 붙여야했지만 지금은 안붙여도 된다. 밑에나올 X로 시작하는 헤더옵션은 모두 다른 사람들이 제작한것인데 널리 쓰여서 유명한 것들이다...
-
HTTP 개요Web 2019. 5. 13. 00:09
HTTP message HTTP 메시지는 클라이언트 요구, 서버의 응답으로 구성됨 Request : HTTP/1.1 messages Response : HTTP/1.1 messages 요구 및 응답 메시지는 엔티티를 전송하기 위해 RFC 822의 일반적인 메시지 형식을 사용 헤더 필드의 끝을 표시하는 빈라인(CRLF 이전에 아무것도 없는 라인) HTTP Request 메시지 필드 구성 Method URI HTTP-Version Message Header CRLF Message Body CRLF HTTP Response 메시지 필드 구성 Method Status-Code Status문자열 Message Header CRLF Message Body CRLF 안정적인 동작을 위해 서버는 규악 스트림을 읽는 도..