2017-06-22 8 views
1

私はWebアプリケーションを開発しており、静的なCSSとJSファイルを提供するところまで来ました。このような私が参照してこれらのファイルの場合:移動中に静的ファイルを非表示にするにはどうすればよいですか?

router.PathPrefix("/tmpfiles/").Handler(http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir(".")))) 

ディレクトリをナビゲートの基本的な知識を持っている誰もがソースコードを見ることができます。サーバー側で

<script type="text/javascript" src="/tmpfiles/js/app2.js"></script> 

私はこのような何かを持っています。これらのファイルを非表示にしてアプリケーションを安全にするにはどうすればよいですか?

+2

ソースディレクトリから資産を提供しないでください。 – JimB

+0

@JimB私はそれらをどのように奉仕すべきですか? –

+2

ソースから隔離された独自のディレクトリに配置します。 – squiguy

答えて

2

あなたが行う場合は、この:あなたは(すべてのソースコードが住んでいる)、現在のディレクトリからファイルを提供するために、それを言っている

http.FileServer(http.Dir(".")) 

私が通常行っているのは、静的なWebアクセス可能なファイルが存在するフォルダ/publicです。次に、あなたが行うことができます:URLから/tmpfiles/を削除し、publicディレクトリからそのファイルを提供します

router.PathPrefix("/tmpfiles/").Handler(
    http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("./public")))) 

を。

+0

しかし、この '' ' –

+3

のように、htmlの右側ではまだそれを参照しています。 "/ tmpfiles /"で始まるURLにマッチするので、Goでパス "/tmpfiles/js/app2.js"を削除し、 "/ tmpfiles"を削除して、 js/app2.js)が./publicに存在しています – dave

+0

今はっきりしています。 :) –

関連する問題