본문 바로가기

분류 전체보기

(171)
[NODEJS] Express Header 정보 숨기기 Express 모듈은 Nodejs 개발에서 빠질 수 없는 웹 프레임워크이다. 거두 절미하고 본문을 이야기해보자면, 아래의 예시를 보면 될 것 같습니다. Express 에서 X-Powered-By 를 통해서, 사용자들은 쉽게 이 서비스는 어떤 웹 프레임워크와 기술을 이용해서 개발되었구나~ 하고 아주 쉽게 잘 표현해주고 있다. 사실 일반사용자에게는 보여줄 필요없는 항목이기도하며, 저 항목을 유심히 보는 사람이 이 시스템을 개발한 개발자는 아닐테니, 공격자에게는 침투하기 좋은 힌트가 될 수 있을 것이다. 모든 소스와 로직은 클라이언트에서 보여주지 않는 것이 바람직하니, 해당 정보를 숨기도록 하겠습니다. // X-Powered-By 막기 app.disable('x-powered-by'); 위의 한줄로, 해당 정..
[NODEJS] http 접속 https 로 Redirect 처리 HTTPS 프로토콜 권장에 따라, HTTPS 사용은 이제 선택이 아닌 필수인 경우가 많습니다. 따라서 HTTP 접속을 HTTPS 로 리다이렉트 처리해줄 필요가 있습니다. Apach 나 nginx 와 같은 웹서버에서 http , https 를 제어하지 않고, was 서버에서 제어하는 방법은 아래와 같습니다. app.use(function(req, res, next){ if(!req.secure){ res.redirect("https://"+ 도메인 + req.url); }else{ next(); } }); 원리는 간단합니다. 모든 접속에 대해, secure 접속 여부를 확인하고, 아닌 경우 https 경로로 리다이렉트 시켜주는 방법 입니다. 위의 코드는 미들웨어 생성시 최상단에 작성되어야 합니다.
[NODEJS] 결제 API 연동하기 - 아임포트 웹 개발시, 결제가 필요할때, PG사 연동등, 결제 처리에 대한 프로세스가 필요한데, 아임포트는 이를 지원해주고, 편리하게 사용할 수 있도록 하는 API 제공 서비스이다. 먼저, 아임포트 공식 사이트이다. ( https://www.iamport.kr/ ) 장점으로는, 다양한 개발 언어를 제공하며, 다양한 PG 사를 지원해준다는 점. 그리고, 글 작성일자 기준으로, 1개의 PG사 연동은 평생 무료 제공한다는 점이 메리트 있다. 아임포트 홍보글이 아니므로, 여기까지만 적어보도록 하고, 바로 연동을 해보도록 하자. 먼저, 기본 사용방법 , 환경설정의 경우 아임포트 홈페이지에 잘 알려주고 있으며, 기술지원 속도도 빠른편으로 보인다. 필요시에는 전문 아임포트 개발자들에게 문의하는게 좋은 방법. 1. REST AP..
[nodejs] Linux (Centos6.x ) 에 최신버전 Nodejs 설치하기 Centos 6 에서 Nodejs 를 yum 을 이용해서 설치하게 되면, 아~주 예전버전의 Nodejs 를 설치하게 되는데, 이번 포스팅에서는 Yum 저장소에 최신 버전을 설정하여, 다운받고 설치하는 방법에 대해 포스팅하겠습니다. 1. nodejs , npm 설치 상태 확인 2. Yum 저장소에 nodejs 버전 추가 yum install -y gcc-c ++ make curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash - 3. yum install nodejs -y 4. 설치완료 설치가 완료되었음을 확인할 수 있습니다.
[GIT] CRLF will be replaced by LF in & LF will be replaced by CRLF in 에러 [GIT] CRLF will be replaced by LF in & LF will be replaced by CRLF in 에러 Windows OS 혹은 Mac OS 에서 GIT 을 사용할 때 발생할 수 있는 에러이다. // Unix CRLF will be replaced by LF in [App.js] ... // Windows LF will be replaced by CRLF in [app.js] .... Unix 에서는 한 줄의 끝이 LF(Line Feed) 이고, Windows 의 경우 CR ( Carruage Retyrb ) & LF 로 줄이 이루어져 있다. 이로인해, GIT 에서 에러를 발생시키는 것이다. 따라서 Git 에서 제공해주는 자동변환 기능을 이용하여, 해당 문제를 해결하도록 한다...
[ DATABASE ] Oracle 설치 - 오라클 11g 설치하기 [ DATABASE ] Oracle 설치 - 오라클 11g[ DATABASE ] Oracle 설치 - 오라클 11g 설치하기 먼저, 설치 파일을 오라클 홈페이지에서 다운받도록합니다. https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html Oracle Database Software Downloads | Oracle Technology Network | Oracle Thank you for accepting the OTN License Agreement; you may now download this software. Oracle Database 19c (19.3) Oracle Database 18c (18.4)..
[JAVASCRIPT] VAR , CONST , LET 의 차이점 ? [JAVASCRIPT] VAR , CONST , LET 의 차이점 ? 1. var ( Function - Level Scope ) 함수레벨 스코프는 함수내에서 선언된 변수는 Function 내부에서만 유효하며, 외부에서는 참조가 불가능하다. 함수 외부에서 선언한 변수의 경우에는 전역변수로 선언된다. function funcA(){ var a = 10; console.log("1 : " + a); } funcA(); console.log("2 : " + a); // console 1 : 10 ReferenceError: a is not defined 함수 레벨 스코프 예시 var 선언은 ES5 까지 변수를 선언할 수 있는 유일한 방법이였습니다. 다른 프로그래밍 언어에서 INT, STRING, CHAR 등의..
[DATABASE] NOSQL - mongodb 설치하기 [DATABASE] NOSQL - mongodb 설치하기 # yum install mongodb mongodb-server 으로 설치를 하여도 되고, 사용자에게 맞는 mongodb 버전을 설치하려면 아래의 repositoty 에 적용하여 설치하도록 합니다. # vi /etc/yum repos.d/mongodb.repo # yum install -y mongodb-org #mongo