douhe1864 2017-06-22 21:50
浏览 44
已采纳

随身携带时如何隐藏静态文件?

I'm working on a web app and came to the point where I serve the static css and JS files. In these files I refer like this:

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

On the server side I have something like this:

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

Anybody who has basic knowledge of navigating through directories can see the source code. How do I hide these files and make my application secure?

  • 写回答

1条回答 默认 最新

  • dongraa1986 2017-06-22 22:36
    关注

    When you do this:

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

    You are telling it to serve files from the current directory (where all your source code lives).

    What I typically do is have a folder /public, where any static, web accessible files will live. Then you can do:

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

    Which will remove the /tmpfiles/ from the url, and then serve that file from the public directory.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?