半岛的蒟蒻bddjr

Results 49 comments of 半岛的蒟蒻bddjr

不如把https跨域拒绝握手也做了 我搜到的其中第一页里大多数都是给IP自签证书,并且证书的ca名称写了“1Panel” 有一个不是给IP签,但是暴露了域名 然后还有安全入口页面的命令也暴露是1Panel

我建议图标`favicon.ico`以及所有网页资源都挂载在安全入口目录下,防止非安全入口意外加载这些可能带有特征的东西 非安全入口的页面可以直接返回404 跨域https握手直接拒绝连接,防止证书暴露特征,除非证书包含IP

还有,这个issue给的关键词是“1Panel”,而不是确切的1Panel面板,这导致fofa把openresty搭建的网站也识别到里面了,然后就看到大量的其它图标 我不知道说楼主专业的人怎么想的

总之这个issue有点无厘头,fofa识别1Panel不只是靠图标,还会靠自签证书、响应头。 甚至,使用像issue里示范的模糊搜索,任何可以用1Panel轻松搭建的东西都有可能被识别成1Panel

先别急,我先给go语言标准库发PR,等合并了之后,你们更新go版本,然后按照新的标准实现这个功能 ![image](https://github.com/1Panel-dev/1Panel/assets/109646559/90fdc675-d7f3-47e3-89c0-cd7b90c89055)

[那个PR](https://github.com/golang/go/pull/65769) 还没人审核,有个暂时的缓解措施就是添加 HSTS 响应头(我用F12看过了,面板没有这个) ``` Strict-Transport-Security: max-age=31536000 ``` 然后如果已经用https访问过了,会产生HSTS缓存,下次用http访问会直接重定向。 但是如果没有缓存,那么还是会出现 `Client sent an HTTP request to an HTTPS server.`

我做了个 go mod 劫持 `net.Conn` 实现了这个功能。 https://github.com/bddjr/hlfhr 使用的时候只需要在 `&http.Server{}` 外面套一层 `hlfhr.New()` ,然后修改一下变量类型就可以了 ```go var srv *hlfhr.Server func main() { srv = hlfhr.New(&http.Server{ Addr: ":5678", Handler: http.HandlerFunc(httpResponseHandle), ReadHeaderTimeout: 10 * time.Second,...

这个应该作为可选选项,也就是用户可以选择关闭这个。 还有一个问题,https跳转到http的配置块也会被删掉,但这明明是我为了测试而故意加进去的,而且我选择的是“HTTP可以访问” ```nginx if ($scheme = "https") { return 307 http://$host$request_uri ; } ```

能不能别什么都往数据库里写,这又不是同一个服务器多个用户的单独配置文件