분류 전체보기321 KDT 5th 웹개발자 입문 수업 31일차 로그인이 되지 않으면 글수정과 글삭제를 불가능하게 만들기 function isLogin(req, res, next) { if (req.session.login === true) { next(); } else { res.send( '로그인이 필요합니다. 로그인 페이지로 이동' ); } } 해당 미들 웨어를 글수정과 글삭제 미들웨어에 넣어줘서 구현해주면 로그인이 되지 않을 때 설정이 가능하다. // 수정 페이지 호출 router.get('/modify/:id', isLogin, (req, res) => { boardDB.getArticle(req.params.id, (data) => { if (data.length > 0) { res.render('db_board_modify', { findArticle: .. 2023. 3. 20. node.js 와 npm Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경 서버 사이드 애플리케이션 개발에 사용되는 소프트웨어 플랫폼 Node.js는 브라우저 외부 환경에서 자바스크립트 애플리케이션 개발에 사용되며 이에 필요한 모듈, 파일 시스템, HTTP 등 Built-in API를 제공한다. node.js는 Non-blocking I/O 와 단일 스레드 이벤트 루프를 통한 높은 Request 처리 성능을 가지고 있다. 데이터베이스로부터 대량의 데이터를 취득하여 웹페이지에 표시할 때 일반적으로 데이터베이스 처리에 대기시간(blocking)이 발생하기 때문에 웹페이지 표시가 지연되는 현상이 발생한다. 기본적으로 node.js의 모든 API는 비동기 방식으로 동작하여 Non-blocking I/O이 가능하고 .. 2023. 3. 18. KDT 5th 웹개발자 입문 수업 30일차 쿠키의 값을 전달 프론트에서 쿠키의 값을 잘라서 쓰기 싫다면 -> 백엔드에서 쿠키의 값을 구하여 프론트에 전달한다. res.cookie(쿠키명, 쿠키값, { 쿠키 옵션 }); res.render() 에 해당 쿠키를 req.cookies.쿠키명으로 접근하여 브라우저에 값을 저장해줄 수 있다. 이때 쿠키 옵션의 httpOnly 를 true로 해주면 프론트에선 접근할 수 없고 백에서만 접근할 수 있는 쿠키가 만들어진다. (쿠키의 값은 전달이 되는거지만, 쿠키의 값이 보이지는 않는다) 쿠키 옵션 1. 쿠키 생존 기간 expires : new Date() 생성자를 사용하여 시간을 지정 ex. expires : new Date(Date.now() + 1000 * 6) -> 6s maxAge : 생성된 시간부터 ms.. 2023. 3. 17. 사용자 입력, form 태그에 대해 form 태그는 사용자가 입력한 데이터를 수집하기 위해 사용되며, input, textarea, button 등의 입력 양식 태그를 포함한다. form 태그의 속성 action 속성 : 입력 데이터가 전송될 url 지정 method 속성 : get / post 입력 데이터 전달 방식 지정 GET, POST 는 HTTP 프로토콜을 이용하여 사용자 입력 데이터를 서버에 전달하는 방식을 나타내며, 이를 HTTP request method 라고 한다. GET url에 입력 데이터를 쿼리 스트링으로 보내는 방식 전송 url 바로 뒤에 ?를 통해 데이터의 시작을 알려주고 key-value 형태의 데이터를 추가한다. 1개 이상 데이터를 전송할 때는 &로 구분한다. url에 전송 데이터가 모두 노출되기 때문에 보안상 .. 2023. 3. 16. 이전 1 ··· 49 50 51 52 53 54 55 ··· 81 다음