Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Dapatkan Alamat IP Pengguna untuk Pengesahan reCAPTCHA dalam App Engine Golang?

Bagaimana untuk Dapatkan Alamat IP Pengguna untuk Pengesahan reCAPTCHA dalam App Engine Golang?

Susan Sarandon
Susan Sarandonasal
2024-11-02 11:33:30357semak imbas

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

Cara Mendapatkan Kembali Alamat IP Pengguna untuk Pengesahan CAPTCHA dalam App Engine Golang

Pengenalan:
Mengintegrasikan reCAPTCHA ke dalam aplikasi web adalah penting untuk perlindungan spam dan penipuan. Untuk mengesahkan penyelesaian CAPTCHA, mendapatkan alamat IP pengguna adalah penting. Artikel ini menunjukkan cara untuk mengambil alamat IP daripada siaran borang dalam Google App Engine (GAE) menggunakan Golang.

Dapatkan Alamat IP Pengguna:
Untuk mendapatkan alamat IP pengguna daripada borang pos dalam GAE Golang, ikuti langkah berikut:

  1. Import pakej "net": import "net"
  2. Gunakan r.RemoteAddr untuk mengakses alamat rangkaian pelanggan: ip, _, _ := net.SplitHostPort(r.RemoteAddr)

Fungsi net.SplitHostPort menghuraikan alamat rangkaian pelanggan, mengekstrak alamat IP (ip).

Contoh Kod:

<code class="go">import "net"

func GetUserIP(r *http.Request) string {
    ip, _, _ := net.SplitHostPort(r.RemoteAddr)
    return ip
}</code>

Penggunaan:

Setelah anda mendapatkan semula alamat IP, anda boleh menggunakannya untuk mengesahkan penyelesaian reCAPTCHA seperti berikut:

<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>

Atas ialah kandungan terperinci Bagaimana untuk Dapatkan Alamat IP Pengguna untuk Pengesahan reCAPTCHA dalam App Engine Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn