Ainar-G Asked:2020-08-12 21:45:44 +0800 CST2020-08-12 21:45:44 +0800 CST 2020-08-12 21:45:44 +0800 CST 更安全的日志记录 *url.URL 在用户信息中带有密码 772 有*net/url.URL一个可以在 用户信息中包含密码。我不想记录这个密码。是否有一些内置方法可以使日志记录更安全? golang 1 个回答 Voted Best Answer Ainar-G 2020-08-12T21:45:44+08:002020-08-12T21:45:44+08:00 Go 1.15添加了一个 *net/url.URL.Redacted类似 的方法*net/url.URL.String,但将密码(如果有)替换为 xxxxx: fmt.Println(u) // Output: // // https://user:password@example.com fmt.Println(u.Redacted()) // Output: // // https://user:xxxxx@example.com 我建议制作一个包装器,以便该方法String始终返回一个没有密码的URL : type SecureURL url.URL func (u *SecureURL) String() (s string) { return (*url.URL)(u).Redacted() } // … fmt.Println(u) // Output: // // https://user:xxxxx@example.com
Go 1.15添加了一个
*net/url.URL.Redacted
类似 的方法*net/url.URL.String
,但将密码(如果有)替换为xxxxx
:我建议制作一个包装器,以便该方法
String
始终返回一个没有密码的URL :