如何在 App Engine Golang 中检索用户 IP 地址进行验证码
简介:
集成 reCAPTCHA到 Web 应用程序中对于垃圾邮件和欺诈防护至关重要。为了验证验证码解决方案,获取用户的IP地址至关重要。本文演示了如何使用 Golang 从 Google App Engine (GAE) 中的表单帖子中获取 IP 地址。
检索用户 IP 地址:
从在 GAE Golang 中发帖,请按照以下步骤操作:
net.SplitHostPort 函数解析客户端的网络地址,提取 IP 地址 (ip)。
代码示例:
<code class="go">import "net" func GetUserIP(r *http.Request) string { ip, _, _ := net.SplitHostPort(r.RemoteAddr) return ip }</code>
用法:
检索到 IP 地址后,您可以使用它来验证 reCAPTCHA 解决方案,如下所示:
<code class="go">challenge := r.FormValue("g-recaptcha-response") ip := GetUserIP(r) resp, err := http.Get("https://www.google.com/recaptcha/api/siteverify?secret=" + recaptchaSecret + "&response=" + challenge + "&remoteip=" + ip) // Validate reCAPTCHA response using retrieved IP and challenge</code>
以上是如何在 App Engine Golang 中检索用户 IP 地址以进行 reCAPTCHA 验证?的详细内容。更多信息请关注PHP中文网其他相关文章!