首页 >后端开发 >Golang >如何在 Google App Engine Go 中检索用户的 IP 地址以进行 ReCAPTCHA 验证?

如何在 Google App Engine Go 中检索用户的 IP 地址以进行 ReCAPTCHA 验证?

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

How to Retrieve a User's IP Address for ReCAPTCHA Verification in Google App Engine Go?

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

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