首页  >  文章  >  后端开发  >  如何在 App Engine Golang 中检索用户 IP 地址以进行 reCAPTCHA 验证?

如何在 App Engine Golang 中检索用户 IP 地址以进行 reCAPTCHA 验证?

Susan Sarandon
Susan Sarandon原创
2024-11-02 11:33:30357浏览

How to Retrieve User IP Addresses for reCAPTCHA Verification in App Engine Golang?

如何在 App Engine Golang 中检索用户 IP 地址进行验证码

简介:
集成 reCAPTCHA到 Web 应用程序中对于垃圾邮件和欺诈防护至关重要。为了验证验证码解决方案,获取用户的IP地址至关重要。本文演示了如何使用 Golang 从 Google App Engine (GAE) 中的表单帖子中获取 IP 地址。

检索用户 IP 地址:
从在 GAE Golang 中发帖,请按照以下步骤操作:

  1. 导入“net”包: import "net"
  2. 使用 r.RemoteAddr 访问客户端的网络地址:ip, _, _ := net.SplitHostPort(r.RemoteAddr)

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn