요청을 받고 처리된 결과를 리턴해주는 역할. import { Controller, Get } from '@nestjs/common'; import { AppService } from './app.service'; @Controller() // @Controller 데커레이터를 클래스에 선언하는 것만으로 컨트롤러의 역할을 수행하게 됨 export class AppController { constructor (private readonly appService: AppService) {} @Get('hello') getHello(): string { return this.appService.getHello(); } } @Controller 데커레이터에 인수를 사용하여 라우팅 경로의 prefix를 지정할 수 있..
TLS HTTP 헤더 보안 미들웨어 모음인 helmet을 사용하여 기본적인 웹 보안취약성으로부터 서버 보호 세션 관리를 위해 쿠키 보안 옵션을 적절히 설정 (secure, httponly, domain, expire) 앱 엔드포인트로부터 무차별 대입에 대한 보호 audit 사용으로 종석 항목이 안전한지 체크 데이터 유효성 검사(xss, sql인젝션) exception 처리 및 Log
source only. app.js 'use strict'; const https = require('https'); const app = require('express')(); const timeout = require('connect-timeout'); const bodyParser = require('body-parser'); const methodOverride = require('method-override'); const compression = require('compression'); const async = require('async'); const morgan = require('morgan'); const log = require('./modules/debug'); const fs =..
Express 웹 프레임워크의 취약한 보안 이슈를 아래와 같이 보완한다. TLS 사용 SSL과 TLS는 거의 비슷지만, SSL 3.0은 POODLE, DROWN등의 취약점 발견으로 2015년에 공식적으로 사용 종료됐다. TLS 1.0 : 1999년 SSL 3.0의 업그레이드 버전으로 공개 TLS 1.2 : 2008년 8월 (현재 대부분 사이트에서 사용중) TLS 1.3 : 2018년 8월 Helmet 사용 Helmet을 이용하면 보안 관련 몇 가지 잘 알려진 웹 취약성으로부터 앱을 보호할 수 있다. helmet은 다양한 http 헤더를 설정하여 Express 앱을 보호하는데 도움이 된다. https://www.npmjs.com/package/helmet helmet help secure Express/C..