Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh mendapatkan semula alamat IP sebenar pengguna di ASP.NET?

Bagaimanakah saya boleh mendapatkan semula alamat IP sebenar pengguna di ASP.NET?

DDD
Lepaskan: 2025-01-30 09:51:11
asal
515 orang telah melayarinya

How Can I Reliably Retrieve a User's Real IP Address in ASP.NET?

Mendapatkan alamat IP pengguna yang benar dalam aplikasi ASP.NET

di ASP.NET, secara langsung menggunakan

sering menghasilkan alamat IP pelayan perantara (seperti proksi atau pengimbang beban), bukan IP pelanggan sebenar. Ini bermasalah untuk aplikasi yang memerlukan alamat IP yang tepat untuk keselamatan atau analisis. Request.UserHostAddress

Kaedah yang lebih dipercayai melibatkan memeriksa pembolehubah pelayan

. Pembolehubah ini, apabila hadir, mengandungi alamat IP klien asal, terutamanya dalam senario dengan proksi atau pengimbang beban. Walau bagaimanapun, ia mungkin menyenaraikan pelbagai IPS. HTTP_X_FORWARDED_FOR

coretan kod berikut menunjukkan cara mengekstrak alamat IP pengguna dengan berkesan:

c#

<code class="language-csharp">protected string GetClientIpAddress()
{
    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>
Salin selepas log masuk
vb.net

Fungsi -fungsi ini mengutamakan
<code class="language-vb.net">Public Shared Function GetClientIpAddress() As String
    Dim context As System.Web.HttpContext = System.Web.HttpContext.Current
    Dim ipAddress As String = context.Request.ServerVariables("HTTP_X_FORWARDED_FOR")

    If Not String.IsNullOrWhiteSpace(ipAddress) Then
        Return ipAddress.Split(","c)(0).Trim()
    End If

    Return context.Request.ServerVariables("REMOTE_ADDR")
End Function</code>
Salin selepas log masuk
, mengekstrak alamat IP pertama. Jika pemboleh ubah ini hilang, mereka kembali ke

. Pendekatan ini meningkatkan ketepatan pengambilan alamat IP dalam aplikasi ASP.NET anda, yang membawa kepada pengenalan pengguna yang lebih tepat dan kawalan berasaskan IP yang lebih baik. HTTP_X_FORWARDED_FOR

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula alamat IP sebenar pengguna di ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan