FileServer 处理程序是否仅服务于您指定目录中的内容?

Does FileServer handler only serve what is inside the directory you specify?

例如,用户可以将您的 url 与 linux 命令放在一起 folder/directory 吗?

假设我的服务器包括:

bin/
    serverfile.go
    ...
public/
    index.html
    style.css

"www.example.com/../bin/etc"

和 serverfile.go 组成:

 pacakage main
 import "net/http"

 func main() {
     htttp.ListenAndServe(":8000", http.FileServer(http.Dir("public")))
 }

http.FileServer 禁止突破您指定的根目录。

相比之下,您可以使用 http.ServeFile 构建自己的文件服务器,这可能是一项危险的任务。

另见