일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- telegraf
- c3 축 없애기
- linux시간으로 변경
- c3 축 가리기
- selinux port 등록
- 백준
- gcc regex
- python subprocess
- CentOS7
- snmp test
- subporcess path
- python popen
- python os
- 정규식 컴파일
- g++ 업데이트
- gcc 업데이트
- influxdb 설치
- InfluxDB
- c3 second
- c++ 정규식
- 정규식 문자열 출력
- c3 초
- c3 step graph
- grafana dashboard
- semanage
- centos pyhon 설치
- snmp
- 정규식 활용
- regex_search
- 1697
- Today
- Total
목록NodeJS/생활코딩 (48)
리셋 되지 말자
express 설치 후, 루트 페이지 작성 express 설치 후에, 지금까지 만들었던(생활코딩 nodejs-mysql)것을 express로 재가공(?) 시작한다. main.js const express = require('express') const app = express() const port = 80 const topic = require('./lib/topic'); var db = require('./lib/db'); var template = require('./lib/template'); //get은 route, routing app.get('/', (req, res) => { db.query('SELECT * FROM topic', function (error, topics) { if (e..
nodejs에서의 SQL 코드 db.query(`update author set name=?, profile=? where id=?`, [post.name, post.profile, post.id], function (error, result) { if (error) throw error; response.writeHead(302, { Location: `/author` }); response.end(); }); 코드를 보면 query문 안에 '?'표시를 두고, 그 다음 인자인 리스트에 '?'표시 각각에 대입되는 값을 나열하는걸 확인할 수 있는데, 이같은 방식이 injection 공격을 방지하기 위한 것이라고 한다. 게시물 접근 exports.page = function(request, response)..
게시물 내용에 아래와 같이 입력해본다. 추가된 글을 클릭할 때마다 '메롱'이 출력된다 이런 방식이 XSS 공격의 하나라고 한다. 이러한 공격방식을 방지해 보도록 한다. 1. sanitize html script를 비활성화 하는 것을 영어로 sanitize(소독하다)라고 한다. 이를 검색해본다(npm sanitize html) www.npmjs.com/package/sanitize-html npm의 수많은 모듈들이 서비스되고 있는 사이트라고 한다. npm init 애플리케이션을 npm으로 관리기위한 절차가 시작된다. $ npm init This utility will walk you through creating a package.json file. It only covers the most common ..
path 경로 세탁(?) 현재의 코드로는 사용자가 나의 컴퓨터(nodejs 웹서버가 실행되는 컴퓨터)를 탐색할 수 있는 발생해선 안되는 경우가 생긴다. (경로를 localhost/../../?=id 등과 같이...) 이러한 문제를 방지하기위해서 경로를 세탁해주어야 한다. path=require('path') path.parse('./main.js'); { root: '', dir: '.', base: 'main.js', ext: '.js', name: 'main' } path.parse('./main.js').base; 'main.js' 위의 코드는 nodejs에서 기본으로 제공하는 path 모듈의 parse를 이용한 예시이다. path.parse(경로)를 입력하면 해당 경로에 대한 정보를 객체로 준다...
삭제 기능 완성 delete_process 분기문 else if(pathname==='/delete_process'){ var body = ''; //POST 방식으로 데이터를 보낼 때, 데이터가 한번에 너무 많으면, 특정한 양(조각)을 수신할 때마다 서버는 콜백 함수를 호출하도록 약속되어 있다. request.on('data', function (data) { body = body + data; // 콜백이 실행될 때마다 데이터를 추가 if (body.length > 1e6) request.connection.destroy(); // 데이터가 너~무 많으면 연결을 강제로 종료 }); //Data가 조각 조각 들어오다가 더이상 데이터가 않오면 이게 실행되고, 콜백 함수가 실행됨 request.on('en..
글 선택 시에 버튼 추가 delete 그런데 delete같은 경우는 제출과 마찬가지로 링크로 하면 안된다. 지우는 링크로 이동하면 난리가 나기 때문. 그래서 form을 이용한다. 버튼 생성된 화면 삭제 버튼클릭 처리 삭제 버튼을 누르면, delete_process로 가도록 수정 /delete_process 분기문 else if(pathname==='/delete_process'){ var body = ''; //POST 방식으로 데이터를 보낼 때, 데이터가 한번에 너무 많으면, 특정한 양(조각)을 수신할 때마다 서버는 콜백 함수를 호출하도록 약속되어 있다. request.on('data', function (data) { body = body + data; // 콜백이 실행될 때마다 데이터를 추가 if ..
update_process 작성 else if(pathname === '/update_process'){ var body = ''; //POST 방식으로 데이터를 보낼 때, 데이터가 한번에 너무 많으면, 특정한 양(조각)을 수신할 때마다 서버는 콜백 함수를 호출하도록 약속되어 있다. request.on('data', function (data) { body = body + data; // 콜백이 실행될 때마다 데이터를 추가 if (body.length > 1e6) request.connection.destroy(); // 데이터가 너~무 많으면 연결을 강제로 종료 }); //Data가 조각 조각 들어오다가 더이상 데이터가 않오면 이게 실행되고, 콜백 함수가 실행됨 request.on('end', func..
update 분기문 추가 "/update?id=' '"로 이동하였을 때, 페이지가 보이도록 아래와 같이 분기문 추가 및 수정(fs.redafile을 분기문 마다 로 분리해 주었음) else if (pathname === '/update') { // 원래 글의 내용을 가져오고 fs.readFile('data/' + queryData.id, 'utf8', function (err, description) { var title = queryData.id; fs.readdir('./data', function (error, filelist) { var list = templateFiles(filelist); var template = templateHTML(title, list, ` `, `create upda..