2014-11-19 5 views
0

그래서 NodeJS와 모든 프로그래밍에 대해 상당히 익숙합니다. 올바르게 적용 할 지 확신 할 수 없습니다. 나는 9 살 또는 10 살 (현재 13 살) 이후로 이런 일을 해왔다. 그래서 이제는 NodeJS에 대해 더 자세히 조사하기 전에 올바르게 사용하고 있는지 확인하고 싶었습니다.내부 문서 데이터가 NodeJS로 바뀝니다

PHP로 얼마 동안 작업 한 후. IP 주소와 같이 서버에서 데이터를 반환하기 위해 문서의 내용을 간단히 "에코"할 수 있습니다.

<?php 
    echo $_SERVER["REMOTE_ADDR"]; 
?> 

이 것 효과적으로 PHP의 비트가 문서에 위치한 곳 IP 사용자의 에코 - 아파치의 모듈에 의해 분석이 (? 오른쪽)

이의 죄수 무엇입니까? NodeJS 구문을 다시 만들 수있는 방법이 있습니까? 예를 들어, NodeJS HTTP 서버가 구문 분석하여 NodeJS를 가져 오는 문서에서 <nodejs>script</nodejs>이라고 말하면됩니다.

이렇게 짧고 이해하기 쉬운 용어입니다. NodeJS가 표시되기 전에 문서에서 NodeJS를 꺼내는 것이 기술적으로 안전합니까? Nodejs 스크립트를 평가 한 다음 제거하고 표시하십시오.

다소 다소 들리지만. 그래서 저는 현재 대체 방법을 사용하고 있습니다. 그러나 이것이 기술적으로 안전 할 지 확실하지 않습니다. 이것은 단지 나에게 불확실한 조금 보인다,하지만

app.get("/", function(req, res){ 
    res.send(fs.readFileSync(__dirname + "index.html").replace(/\[\*IP\*\]/g, req.connection.remoteAddress)); 
}); 

:

는 현재 문서에서, 나는 이런 식으로 뭔가를 NodeJS의 파일 시스템 모듈을 사용 <p>Your IP is [*IP*]</p> 같은 무언가를 할 것이다. 웹 개발의 보안 측면에 대한 많은 경험이 없기 때문에 이것이 안전하고 안전하지 않은 방법에 대한 정보를 얻을 수 있기를 희망했습니다. 어떻게해야합니까?

시간을내어이 주제에 대한 지식을 향상 시키도록 도와 주셔서 감사합니다.

답변

1

보안과 관련된 문제는 아니지만 Node.js가 PHP에 비해 어떻게 작동하는지에 대한 질문입니다.

기본적으로 PHP는 기본적으로 파일을 기반으로 작성했습니다. 그래서 확장자가 .php 인 텍스트 파일을 만들고 HTML 마크 업을 넣고 IP 주소 인쇄와 같은 논리를 넣으면됩니다. 나머지는 웹 서버, 주로 아파치가합니다. 여러분의 코드를 해석하고 그 결과를 클라이언트 (여러분의 경우 브라우저)에 렌더링하는 "PHP 엔진"을 통해 .php 파일에 각 요청을 보냅니다.

Node.js는 그렇게 작동하지 않습니다. 해석되고 반환되는 파일을 찾는 대신 가장 많이 사용되는 방법은 요청을 처리하는 "미들웨어"를 사용하는 것입니다.

먼저 각 요청에 대해 "끝점"을 조사합니다. 대체로 경로 "/"(예 : "/ what-is-my-ip"일 수도 있음)에 대한 예제 코드에서와 같이 각 경로에 대한 함수를 등록 할 수 있습니다 ..

그 기능은 " IP 주소를 가져 오는 등 일부 비즈니스 로직을 수행 할 수있는 컨트롤러 액션 ". 그를 마친 후

, 그것은보기 엔진에 결과를 전달하거나

뷰는 기본적 것을 엔진. 간단한 뷰 저점을 반환 당신.PHP는 될 수 있지만, PHP와는 주요한 차이점 인 어떤 논리도 포함하지 않습니다.

주로 Model View Controller 패턴 이후에 작동합니다.

일부보기 엔진 :