0

NodeJSで簡単なサイトを作りたいのですが。たとえば、2つのファイル(app.js-メインアプリケーションファイル)とrouter、js(urlファイル)があります。知りたいのですが、誰かがmydomain.com/router.jsにアクセスして、アプリケーションのソースコードを取得できるかどうかを知りたいのですが。たとえば、PHPでは、サーバーがこのPHPファイルの処理結果を提供するだけで、ファイル自体は提供しないため、phpにアクセスすることはできません。では、nodejs-appをパブリックアクセスで非表示にするにはどうすればよいですか?ありがとう!

4

2 に答える 2

0

これは、Node.jsをどのように使用しているか、およびその前のWebサーバーに何を使用しているかによって異なります。CGIまたはApacheのモジュールとして実行されるPHPとは異なり、ノードおよびノー​​ドアプリケーション自体はサーバーです。ノードのソースディレクトリが公開されているWebサーバーがある場合、質問で指定したURLによって、ソースコードが提供される可能性が高くなります。Apacheを使用してノードにプロキシしている場合でも、通常、出力フィルターは含まれていません。代わりに、リクエストはバックエンドノードサーバーに渡され、そこで解釈されます。

于 2012-04-07T05:40:49.800 に答える
0

Node.jsのすべてのファイルが、Apacheなどの別のWebサーバーによって提供されるパスに含まれないようにします。そうすれば、ソースが偶然に提供される危険性はほとんどありません。

私のノードプログラムとファイルは、ノード内の各アプリケーションのサブフォルダーとともに/ var/nodejsに配置されます。もちろん、デフォルトでは、指示がない限り、Nodeは何も提供しません。

Apache構成のルートで、すべてのフォルダーが保護されていることを確認します。これにより、すべてのApacheサイトで使用する/ var / wwwフォルダーの下でも、任意のフォルダー構造での提供を明示的に有効にする必要があります。

したがって、フォルダを分離しておく限り、NodeとApacheのデフォルト設定でかなり安全です。また、Nodeが誤ってソースコードを提供することはありません。ファイルをテキストとして読み取り、httpストリームに書き込むNodeサーバーを設定する必要があります。

于 2012-04-07T15:13:16.737 に答える