2017-09-26 8 views
0

私たちはnodejs、expressjsでプロジェクトを開発しますが、scaffoldを作成するためのexpress-generatorは使用していません。すべてのフォルダまたはファイルを手動で作成します。サーバーサイドにアクセスできるようになり、私が "http://localhost:3000/package.json"と言ったときのように外部からpackage.json、app.jsをコードします。エクスプレスジェネレータを使用すると不可能なブラウザにファイルが表示されます.Suggest何らかの方法でパブリックフォルダのみが外部からアクセス可能になるようにしますエクスプレスジェネレータのような他のフォルダ。外部からサーバ側のファイルを制限する

+0

おそらくこの記事は便利かもしれません - https://medium.com/hack-your-career/a-few-words-about-security-in-node-js-unauthorized-access-to-filesystem-b9d4f17487d8 – Sindis

答えて

0

不正なルートパス、つまりパブリックファイル(JS、CSS、HTMLなど)を含むサブディレクトリではなくプロジェクトディレクトリというexpress.static()を使用しているような感じです。

パブリックフォルダがpublic呼び出された場合は、rootとしてことを使用します。

app.use('/public', express.static(path.join(__dirname, 'public'))); 
:あなたのクライアント側のファイルは、彼らが /public接頭辞が必要ですので、設定されている場合は

app.use(express.static(path.join(__dirname, 'public'))); 

、あなたがこれを使用することができます

関連する問題