Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mendapatkan alamat IP sebenar pengguna di ASP.NET?

Bagaimana untuk mendapatkan alamat IP sebenar pengguna di ASP.NET?

Barbara Streisand
Barbara Streisandasal
2025-01-30 09:46:10793semak imbas

How to Reliably Get a User's Real IP Address in ASP.NET?

dengan tepat menentukan alamat IP pengguna dalam aplikasi ASP.NET

Cabaran:

secara langsung mengakses alamat IP pengguna menggunakan

sering menghasilkan alamat IP penyedia perkhidmatan internet pengguna (ISP), dan bukannya IP mesin sebenar mereka. Batasan ini menimbulkan isu penting bagi aplikasi yang memerlukan pengenalan IP yang tepat, seperti yang mengawal akses muat turun. Request.UserHostAddress

Penyelesaian yang lebih mantap:

Pendekatan yang boleh dipercayai melibatkan memanfaatkan pembolehubah pelayan

. Pembolehubah ini memberikan perwakilan yang lebih tepat dari alamat IP pengguna, walaupun pengguna berada di belakang pelayan proksi atau penghala rangkaian. HTTP_X_FORWARDED_FOR

Pelaksanaan kod:

Berikut adalah contoh kod yang menunjukkan cara mengambil alamat IP yang benar menggunakan kaedah ini:

C# Contoh:

<code class="language-csharp">protected string GetTrueIPAddress()
{
    var context = System.Web.HttpContext.Current;
    string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    if (!string.IsNullOrWhiteSpace(ipAddress))
    {
        return ipAddress.Split(',')[0].Trim();
    }

    return context.Request.ServerVariables["REMOTE_ADDR"];
}</code>

vb.net Contoh: Dengan melaksanakan kaedah yang lebih baik ini, aplikasi ASP.NET anda boleh mendapatkan alamat IP pengguna yang unik, tanpa mengira konfigurasi rangkaian. Ini memastikan pengenalan dan kawalan pengguna yang tepat untuk ciri -ciri seperti sekatan muat turun.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan alamat IP sebenar pengguna di ASP.NET?. 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