2012-04-07 2 views
0

NodeJS에서 간단한 사이트를 만들고 싶습니다. 예를 들어, 두 개의 파일 (app.js - 주 응용 프로그램 파일)과 라우터, js (url 파일)가 있습니다. 내 응용 프로그램의 소스 코드를 얻기 위해 mydomain.com/router.js에 액세스 할 수있는 사람이 있습니까? 저는 PHP에서 PHP에 대한 액세스를 막을 수있는 방법을 묻습니다. 서버는 PHP 파일의 작업 결과를 제공하지만 파일 자체는 제공하지 않습니다. 그럼, 내 nodejs - 애플 리케이션을 공개 액세스를 위해 보이지 않게 만드는 방법? 감사![NodeJS] 백엔드 코드가 안전하게 보호되어 있습니까?

+1

node.js에서 HTTP 서버를 만듭니다. 코드가 노출하는 것만 노출하므로 바보 같은 코드를 작성하지 않으면 안됩니다. – Raynos

답변

0

Node.js의 모든 파일이 Apache와 같은 다른 웹 서버에서 제공하는 경로에 없는지 확인합니다. 그렇게하면 근원지가 우연히 위험에 처할 위험이 거의 없습니다.

내 노드 프로그램과 파일은 노드의 각 응용 프로그램에 대한 하위 폴더가있는/var/nodejs로 이동합니다. 물론 기본적으로 노드는 사용자가 말하지 않는 한 아무 것도 제공하지 않습니다.

내 아파치 구성의 근원에 모든 아파치 사이트에 사용하는/var/www 폴더 밑에도 폴더 구조에 대한 서비스를 명시 적으로 사용하도록 모든 폴더가 보안 설정되어 있는지 확인합니다.

폴더를 별도로 유지하는 한 노드와 Apache의 기본 설정으로 매우 안전합니다. 또한 Node는 실수로 소스 코드를 제공하지 않습니다. 파일을 텍스트로 읽고 노드 스트림을 http 스트림에 작성해야 노드 서버를 설정해야합니다.

0

이는 Node.js 사용 방법과 그 앞의 웹 서버에 사용중인 내용에 따라 다릅니다. CGI 또는 Apache의 모듈로 실행되는 PHP와 달리 노드 및 노드 응용 프로그램 자체는 서버입니다. 노드 소스 디렉토리가 노출 된 웹 서버가있는 경우 질문에 제공 한 URL로 인해 소스 코드가 제공 될 가능성이 큽니다. Apache를 사용하고 노드로 프록시하는 경우에도 일반적으로 출력 필터가 필요하지 않습니다. 대신 요청은이를 해석하는 백엔드 노드 서버로 전달됩니다.

관련 문제