일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- semanage
- telegraf
- 정규식 문자열 출력
- 1697
- centos pyhon 설치
- InfluxDB
- gcc regex
- g++ 업데이트
- CentOS7
- c3 축 가리기
- c3 second
- 정규식 활용
- c3 축 없애기
- subporcess path
- python subprocess
- regex_search
- c++ 정규식
- 백준
- influxdb 설치
- gcc 업데이트
- c3 초
- selinux port 등록
- snmp test
- c3 step graph
- grafana dashboard
- snmp
- python popen
- python os
- 정규식 컴파일
- linux시간으로 변경
- Today
- Total
목록NodeJS/생활코딩 (48)
리셋 되지 말자
세션 저장소 세션 데이터의 저장소를 세션 저장소라고 한다. 이를 변경하는 방법을 알아본다. (expressjs.com/en/resources/middleware/session.html)사이트 아래쪽에 Compatible Session Stores라는 항목을 확인할 수 있다. 이중에서 간편하게 사용이가능한 session-file-store을 사용해본다.(www.npmjs.com/package/session-file-store) session file store npm install -s session-file-store 설치를 한다. var express = require('express') var parseurl = require('parseurl') var session = require('expres..
session 객체 var express = require('express') var parseurl = require('parseurl') var session = require('express-session') var app = express() app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: true })); app.get('/', function (req, res, next) { console.log(req.session); res.send('hello session'); }) app.listen(3000, function(){ console.log('nodejs server is listening on por..
코드 분석 먼저 app.use(session{});부분을 보면 'secret'이라는 값을 확인할 수 있다. app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: true })) secret에 대한 설명은 아래와 같다. 노출되면 안되는 값. resave가 false이면, 세션데이터가 바뀌기 전까지는 세션 저장소의 값을 저장하지 않는다. true면 값이 바뀌던 안바뀌던 계속 값을 저장한다. saveUninitialized이 true이면 세션이 필요하기 전까지는 세션을 구동시키지 않는다. (기본적으로 true로 하면 좋다.)
미들웨어 session (expressjs.com/en/resources/middleware/session.html) nodejs의 공식 홈페이지에서 설명을 확인할 수 있다. (github.com/expressjs/session) github에서도 확인 가능하다. 설치 npm을 이용해 설치한다. npm install -s express-session express-session.js var express = require('express') var parseurl = require('parseurl') var session = require('express-session') var app = express() app.use(session({ secret: 'keyboard cat', resave: fal..
쿠키 로그인 적용 쿠키를 이용해서 로그인, 로그아웃, 기능 제어를 구현하였다. 기존의 filestream 모듈을 이용했던 프로젝트에 적용했다. 쿠키에 관한 대강적인 사용법을 익히는 것이어서 대강 구현함. 이러한 방식(쿠키에 id, password, nickname)을 저장하는 것은 매우 위험한 방법이므로 session을 이용한 방법으로 사용하여야 한다. 그리고 사용자의 비밀번호를 직접 쿠키에 적용하는것은 절대로 일어나서는 안된다. 이를 위한 암호화 기법으로 hash, salt, key stretching과 같은 기법이 사용된다.(PBKDF2, bcrypt 라이브러리 등이 이를 대신 해준다.) 또한, 쿠키는 4k의 정보만 저장할 수 있지만, localStorage, Indexed DB와 같은 방식은 더 많..
Path 쿠키가 특정한 디렉토리에서만 활성화 되도록 하기 위해서 Path를 설정할 수 있다. cookie.js var http = require('http'); var cookie = require('cookie'); var app = http.createServer(function (request, response) { if (request.headers.cookie != undefined) { console.log(cookie.parse(request.headers.cookie)); } response.writeHead(200, { 'Set-Cookie': ['yummy_cookie=choco', 'tasty_cooke=strawberry', `Permanent1=cookies; Expires=Wed..
예제코드 var http = require('http'); var cookie = require('cookie'); var app = http.createServer(function (request, response) { if (request.headers.cookie != undefined) { console.log(cookie.parse(request.headers.cookie)); } response.writeHead(200, { 'Set-Cookie': ['yummy_cookie=choco', 'tasty_cooke=strawberry', `Permanent1=cookies; Expires=Wed, 21 Oct 2021 07:28:00`, `Permanent2=cookies; Max-Age=${6..
Session cookie 웹 브라우저가 켜있는 상태에서 유효하고, 껏다가 다시 키면 사라진다. Permanent cookie 웹 브라우저를 껏다가 켜도 유효하다. Permanent cookie 사용하기 cookie.js var http = require('http'); var cookie = require('cookie'); var app = http.createServer(function (request, response) { if (request.headers.cookie != undefined) { console.log(cookie.parse(request.headers.cookie)); } response.writeHead(200, { 'Set-Cookie': ['yummy_cookie=choc..