WebApp (100) 썸네일형 리스트형 Node.js- express express는 framework의 한 종류이다 1.실습환경 준비 콘솔창에 npm insatall express --save로 express module 설치 참조 : expressjs.com app.get 이라는 get메소드는 첫번째 인자로 path를 받고 두번째 인자로 콜백함수를 받는데 어떤 길을 따라가다가 갈림길에서 적당한 곳으로 방향을 잡는것과 같이 사용자들이 여러path를 통해서 들어올때 path마다 적당한 응답을 주는것이다 이것을 route or routing(라우트 또는 라우팅) 이라고 부른다 app.listen은 app 객체의 listen 메소드의 첫번재 인자로 3000을 주면 listen이라는 메소드가 실행될떄 비로소 웹서버가 실행되면서 3000번 port에 listening하게 되고 그.. Node.js - MySQL security 인젝션 즉 주소창의 id값에 ?id=1;DROP TABLE topic;등과 같은 입력값으로써의 공격을 방어하기위하여 db.query의 첫번째 파라미터로 ?를 주고 두번째 파라미터로 배열로써 순차적으로 그 대입값을 입력하는 방법으로 방어 이스케이핑 즉 사용자가 스크립트등의 태그를 입력값으로 주어 공격하는 것을 방어하기 위하여 sanitizehtml이라는 라이브러리를 가져와 사용 Node.js-MySQL ,authorlist CRUD 내가 직접 구현한 authorlist CRUD 1.새로운모듈 template.Author(틀) 와 template.TRList(표) 2.author 기본화면 구성 3.create 구성 4.update 구성 *TRList 에서update를 눌렀을때 ?id={queryData.id}로 가게 만들어 각각의 고유 식별자를 주어 그 주소장의 식별자로 값으로 post전송하여 update_process를 만들고 테이블의 각 요소를 하나씩 뽑은 후(select * from author where id=${queryData.id}) placeholder를 만듬 5.delete 구성 *TRList에서 로 각각의 값에 고유한 식별자 id를 주어 delete버튼을 눌러 /delete_process로 post전송해주면 그걸 받.. Node.js-MySQL-module로 정리정돈 moudule사용하여 정리정돈하기 1. lib폴더에 topic.js파일 생성 2. 여러개의 모듈을 밖으로 수출할때 exports.name 사용 *topic.js 파일안에서 코드작성 중 require할때 같은 파일 내에 있는 다른 파일을 가져올때 파일위치 주의 *기존 모듈을 수출받는 파일과 연동을 해야하기때문에 매개변수가 있는 함수를 사용 *log기록으로 에러를 찾아서 순차적으로 코드 보완하기 Node.js-MySQL JOIN 1. 2개의 table을 관계지어서 by name 표시하기 * topic TABLE과 author TABLE 관계짓기 sql문 : SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id 2. SELECT BOX로 author create 구현 ${tag}에서 name은 select안의 내용이 post방식으로 전송될때 데이터의 이름이고 var ${tag} =○에서 value는 post방식으로 전송된 데이터의 값을 말한다 따라서 ☆에는 sql문으로 가져온 배열속 객체의 방식인 authors TABLE의 id값을 주고 ○에는 name값을 주어 UI에 나타내는것이다 이러한 방식으로 3개의 UI를 만들고 마지막으로 선택한 option의 value .. Node.js-MySQL 1. Node.js에서 MySQL 연동하기 1. npm install --save mysql로 mysql package 설치하기 2. mysql.js 파일 생성후 node.js를 mysql client로써 사용할 수 있게 해주는 module을 불러오는 코드 작성 후 관련 api 코드를 작성하면 기존에 mysql server에 생성해놓았던 database table을 객체의 형식으로 가져올 수 있다 *본질적으로는 아래의 코드만으로 작성가능 connection.query('SELECT * FROM topic', function (error, results) { console.log(results); }); //첫번째 인자는 sql문이 오고 두번째인자는 첫번째 인자의 sql문이 실행된 후에 서버가 응답할 것인.. Node.js-security2 웹개발을 할때 생길 수 있는 보안 이슈중 오염된 정보가 나갈때 생길 수 있는 보안 이슈가 있는데(XSS 공격기법) 예를 들어 내가 만든 애플리케이션에서 create 버튼을 클릭하고 를 입력하면 경고창이 떠버린다.. 공격자가 우리의 사이트에 자바스크립트를 심어놓으면...ㄷㄷ 이를 해결하기 위해서 용자가 입력한 정보중 스크립트 태그를 없애버리는 방법이 있다 =사용자가 입력한 정보를 외부로 출력할때 오염된 정보가 있다면 그 정보를 소독하는것 해결과정 npm이라는 내가 아닌 다른사람이 만든 모듈을 사용하자 google 검색: npm sanitize(살균) html *npm에 등록되어 있는 수많은 모듈 사이트 오른쪽의 평판을 보고 사용해라 npm을 사용하는법 터미널에 1. npm init 입력 *우리의 에플리케이.. Node.js-security security - 보안의 기초 예를들어 우리의 app안에 database를 이용해서(데이터를 관리하는 소프트웨어)를 데이터를 관리할껀데 그렇게 하기 위해선 우리의 app어딘가에 id값과 passward값을 입력해놔야한다 에를 들어 passward.js라는 파일에 id와 passward값을 입력해 놨다고치면 사용자가 주소창에 ../passward.js라고 치면 현재디렉토리의 부모디렉토리의 passward.js파일을 가르키게되고 그 파일을 읽어서 화면에 표시해버린다 이문제를 해결하기 위해 nodejs path parse 노드제이에스 경로 분석 path.parse(path) 파스에다가 인자를 주면 파스라는 메소드가 아래의 결과를 리턴한다 node(즉석실행 console.log없이) var path = req.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음