프로그래밍 536

Node.js 생활코딩 정리 – 세션(session)을 데이터베이스(mysql)에 저장하기

Session 9 : Session store - mysql 세션을 mysql에 저장하기 위해서는 express-mysql-session을 설치해야 한다. npm install express-mysql-session –save 다음 예제는 app_session_login.js를 복사해서 쓴다. app_session_login_mysql.js var express = require('express'); var session = require('express-session'); var bodyParser = require('body-parser');//POST 방식 전송을 위해서 필요함 var MySQLStore = require('express-mysql-session')(session); var app ..

Node.js 생활코딩 정리 – 세션(session)을 파일에 저장하기

Session 8 : Session store - file 세션 데이터를 파일에 저장하기 위해서는 session-file-store를 설치해야한다. npm install session-file-store --save 다음 기존의 app_session_login.js를 이용한다. 다음과 같이 var FileStore 부분을 추가하고 app.use(session( 에서 store:new FileStore()를 추가한다. app_session_login_file.js var express = require('express'); var session = require('express-session');//세션 사용을 위한 모듈 var bodyParser = require('body-parser');//POST ..

Node.js 생활코딩 정리 – 세션으로 로그인 애플리케이션 만들기

Session 1 : Intro 쿠키 방식과는 다르게 사용자의 ID값만 클라이언트 브라우저에 저장한다. 나머지 실제 데이터 서버쪽에 저장된다. 요청할 때마다 set-cookie : connect.sid값으로 클라이언트를 식별한다. 결국 세션도 쿠키를 이용한다. 세션을 이용하기 위해서 npm install express-session –save 를 설치해야한다. express-session은 기본적으로 메모리에 세션 정보를 저장한다. 그래서 애플리케이션을 껏다키면 세션 정보가 날라간다. 그래서 실제 서비스 할 때는 데이터베이스에 세션데이터를 저장해야 한다. app_session.js var express = require('express'); var session = require('express-sess..

Node.js 생활코딩 정리 – Cookie 암호화

Cookie 암호화 쿠키값을 암호화해보자 app.use(cookieParser('키값));에 키값을 넣으면 이 키를 이용해서 암호화한다. req.cookies.count를 req.signedCookies.count로 변경 res.cookie('count', count, {signed:true});로 변경 다음과 같이 count와 cart가 암호화가 된다. app_cookie_security.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 var app = express(); app.use(cookieParser('123afasdfabaf%$#!'));//expressjs API보면 나옴 /..

Node.js 생활코딩 정리 – Cookie를 이용한 장바구니 만들기

Cookie 이용하기 2번째 장바구니 만들기 app_cookie_cart.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 var app = express(); app.use(cookieParser());//expressjs API보면 나옴 //상품들 리스트 원래는 데이터베이스여야함 var products = { 1:{title:'The history of web 1'}, 2:{title:'The next web'} }; //상품들 페이지 app.get('/products', function(req, res){ var output = ``; for(var name in products){//..

Node.js 생활코딩 정리 – HTTP 및 Cookie 구현하기

HTTP(Hyper Text Transfer Protocol)란? 웹브라우저와 웹서버간의 통신을 위한 규약 웹브라우저 request 웹서버 크롬에서 F12누르고 NETWORK탭을 보면 HTTP 헤더정보를 볼 수 있다. Cookie 구현하기 클라이언트에 대한 정보는 클라이언트의 PC의 하드디스크에 저장하는 정보이다. PC내에 텍스트 파일의 형태로 저장되며 총 300개까지 저장 할 수 있다. 각 도메인당 20개가 가능하며 한 파일의 최대 크기는 4096byte이다. 쿠키를 사용하기 위해 cookie parser를 설치한다. app_cookie.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 v..

Node.js 생활코딩 정리 – 세번째 웹애플리케이션 글 삭제 기능 구현

Node.js 웹애플리케이션 글 삭제 기능 구현 삭제 수정은 반드시 POST방식을 써야함을 잊지말자. GET방식을 쓰면 취약점이 된다. app_mysql.js app.get('/topic/:id/delete', function(req, res){ var sql = 'SELECT id, title FROM topic';//글목록을 보여주기 위한 쿼리문 var id = req.params.id; conn.query(sql, function(err, topics, fields){ var sql = 'SELECT * FROM topic WHERE id=?'; conn.query(sql, [id], function(err, topic){ if(err){//에러가 있다면 여기서 처리 res.status(500).s..

Node.js 생활코딩 정리 – 두번째 웹애플리케이션 글 편집 기능 구현

Node.js 웹애플리케이션 글 편집 기능 구현1 특정한 topic을 선택후 edit링크를 통해 데이터를 수정한다. 먼저 view.jade 파일을 수정한다. doctype html html head meta(charset='utf-8') body h1 a(href='/topic') Server Side Javascript ul each topic in topics li a(href='/topic/'+topic.id)= topic.title article if topic h2= topic.title = topic.description div= 'by'+topic.author else h2 Welcome | This is server side js. ul li a(href='/topic/add') add i..

Node.js 생활코딩 정리 – 첫번째 MYSQL을 이용해서 웹애플리케이션 구현하기

MYSQL을 이용해서 웹애플리케이션 구현 app_mysql.js var express = require('express');//익스프레스를 가져옴 var bodyParser = require('body-parser') var fs = require('fs'); var mysql = require('mysql'); var conn = mysql.createConnection({ host : 'localhost', user : 'root', password : 'qwer1234', database : 'o2', port : 3307 }); conn.connect();//database 접속 완료 var app = express(); var multer = require('multer');//업로드를 위한 m..

Node.js 생활코딩 정리 – node-mysql 사용하기

node-mysql 1 : 접속 node-mysql 설치 database_mysql.js var mysql = require('mysql'); var conn = mysql.createConnection({ host : 'localhost', user : 'root', password : 'qwer1234', database : 'o2', port : 3307 }); conn.connect(); //connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { // if (err) throw err; // // console.log('The solution is: ', rows[0].solution); //}); var sql = '..

반응형