IPv6 pelanggan pada PHP tetapi IPv4 pada pelayan nod - memerlukannya supaya sama
P粉239164234
P粉239164234 2023-09-04 19:35:35
0
1
514

Saya mengalami isu berkaitan keselamatan dan pengesahan. Saya mempunyai perisian yang menyemak untuk mengesahkan pengguna, dan saya perlu memastikan ia adalah pelanggan yang sama yang menghantar permintaan PHP dan permintaan pelayan nod. Walau bagaimanapun, pada pelayan nod, IP pelanggan ditunjukkan sebagai IPv4, manakala pada PHP ia ditunjukkan sebagai IPv6. Adakah terdapat cara untuk mendapatkan output yang sama di suatu tempat, seperti mengekstrak IPv6 pada pelayan nod atau mengekstrak IPv4 pada pelayan PHP? Terima kasih.

Dapatkan IP yang sama atau sahkan sama ada ia adalah klien yang sama walaupun IPv4 dan IPv6 adalah "berbeza"

P粉239164234
P粉239164234

membalas semua (1)
P粉860370921

Masalahnya ialah IPv6 dan IPv4 tidak digandingkan dalam apa jua cara. Alamat v6 tidak boleh disimpulkan daripada alamat v4 atau sebaliknya.

Pada pendapat saya yang sederhana, anda harus mengelak daripada mengesahkan pengguna melalui alamat IP kerana alamat IPdipalsukandan amalan ini boleh membawa kepada isu seperti ini. Yang berkata, terdapat beberapa "penyelesaian".

  • Lumpuhkan IPv6 pada pelayan web yang mengehos aplikasi PHP anda. Memandangkan anda tidak menyebut jenis pelayan web ini, anda sepatutnya boleh google sesuatu seperti "lumpuhkan ipv6 apache" untuk mengetahui cara mencapainya. Ini harus memastikan bahawa alamat IPv4 pada kedua-dua pelayan adalah sama. Saya secara peribadi tidak menyukai penyelesaian ini kerana ia menghalang penggunaan IPv6.

  • Dayakan IPv6 padapelayan nod. Ambil perhatian bahawa pelanggan mungkin masih memilih IPv4 daripada IPv6 atas sebarang sebab, dan tiada jaminan bahawa ia akan menggunakan IPv6 untuk kedua-dua pelayan rangkaian.

  • Anda boleh memproksi semua panggilan dari satu pelayan web ke pelayan web yang lain dan menghantar IP asal dalam pengepala "X-Forwarded-For". Ini akan memperkenalkan beberapa overhed, tetapi IP sumber akan menjadi lebih stabil.

  • Secara peribadi, saya akan mengelak daripada menggunakan alamat IP dan melaksanakan beberapa jenis token yang disimpan pada klien dan boleh disahkan pada kedua-dua pelayan melalui pangkalan data dikongsi jika boleh.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!