如何在go中服务时隐藏静态文件?

时间:2017-06-22 21:50:02

标签: go

我正在开发一个Web应用程序,并且提供了静态css和JS文件。在这些文件中,我这样说:

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

在服务器端,我有类似的东西:

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

任何具有浏览目录基础知识的人都可以看到源代码。如何隐藏这些文件并使我的应用程序安全?

1 个答案:

答案 0 :(得分:2)

执行此操作时:

<Route>

您告诉它从当前目录(所有源代码所在的位置)提供文件。

我通常做的是拥有一个文件夹 http.FileServer(http.Dir(".")) ,其中任何静态的,可访问Web的文件都将存在。然后你可以这样做:

/public

将从网址中删除router.PathPrefix("/tmpfiles/").Handler( http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("./public")))) ,然后从/tmpfiles/目录提供该文件。