Windows 10 Pro 64位内幕版构建16184 去1.8.1
我有以下文件夹结构:
/
+ index.html
+ go.html
+ vim.html
+ git.html
+- css
| + main.css
+- img
| + forestbridge.jpg
+- main.go
我的main.go只包含以下内容:
package main
import (
"net/http"
)
func init() {
http.Handle("/", http.FileServer(http.Dir(".")))
}
我的app.yaml包含以下内容:
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
该网站的工作方式是提供文件以及网络内容,它还能够为main.go
和app.yaml
提供服务,这是一个明显的安全漏洞。
在我看来,这种行为的明显罪魁祸首是源中的http.FileServer(http.Dir("."))
行,它提供任何东西。我该如何解决这个问题?
另一个问题,虽然是次要问题之一,但事实上我已经将自己束缚在非灵活的做事方式中,这意味着如果我的代码变得如此先进,我将不得不牺牲Golang 1.8的兼容性。如何更改内容以使用env: flex
方法?