在 Google App Engine Go 中检索用户 IP 地址以进行 ReCAPTCHA 验证
将 reCAPTCHA 集成到您的 GAE Go Web 应用程序中需要捕获用户的 IP 地址出于验证目的。本文探讨如何从表单帖子中检索用户的 IP 地址,以便于 ReCAPTCHA 集成。
获取用户 IP 地址的关键在于使用 net.SplitHostPort 函数。该函数采用 r.RemoteAddr 变量,该变量捕获传入请求的远程地址,并将其拆分为主机和端口组件。生成的 IP 地址存储在 ip 变量中。
以下是如何在 Go 代码中实现此功能的示例:
<code class="go">package main import ( "log" "net" "os" "github.com/go-martini/martini" ) func main() { m := martini.Classic() m.Post("/verify", func(w http.ResponseWriter, r *http.Request) { ip, _, _ := net.SplitHostPort(r.RemoteAddr) log.Printf("User IP address: %s", ip) }) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } m.RunOnAddr(":" + port) }</code>
通过实现此方法,您可以有效地检索用户的 IP 地址IP 地址并在您的 GAE Go Web 应用程序中使用它进行 ReCAPTCHA 验证。
以上是如何在 Google App Engine Go 中检索用户的 IP 地址以进行 ReCAPTCHA 验证?的详细内容。更多信息请关注PHP中文网其他相关文章!