Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mendapatkan IP sebenar dengan PHP

Bagaimana untuk mendapatkan IP sebenar dengan PHP

PHPz
Lepaskan: 2023-03-16 11:44:01
asal
3400 orang telah melayarinya

Bagaimana untuk mendapatkan IP sebenar dengan PHP

Dalam PHP, cara biasa untuk mendapatkan IP yang diminta secara amnya melalui tiga pembolehubah super global, tetapi jelas sekali bahawa ketiga-tiga kaedah mendapatkan IP tidak boleh dipercayai sepenuhnya.

$_SERVER['REMOTE_ADDR'];             // 客户端与服务器握手IP,如果使用代理则会获取到代理IP
$_SERVER['HTTP_CLIENT_IP'];          // 代理服务器发送的HTTP头(可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR'];    // 用户是在哪个IP使用的代理(可伪造)
Salin selepas log masuk

Jika nama domain belum diproksikan, cara yang secara amnya selamat ialah REMOTE_ADDR Jika ia adalah rangkaian luar negara, cara paling selamat ialah vendor awan menyediakan kaedah pemerolehan IP sumber yang boleh dipercayai, seperti yang. disediakan oleh Google Cloud:

Bagaimana untuk mendapatkan IP sebenar dengan PHP

Apabila tiada IP palsu muncul, X-forwarded-For biasanya ialah IP sebenar pelanggan, IP pengimbangan beban

Apabila IP palsu muncul, Google Cloud akan memalsukannya Kandungan diawalkan, formatnya , IP sebenar pelanggan, IP imbangan beban

Jadi sama ada ia dipalsukan atau tidak, kita boleh memotong rentetan dengan koma dan cari X kedua terakhir- Nilai untuk dimajukan boleh digunakan untuk mendapatkan IP pelanggan sebenar.

Sudah tentu, jika vendor awan nama domain tidak memberikan maklumat nama domain yang serupa, kami tidak boleh mendapatkannya melalui pembolehubah super global.

Apabila vendor awan nama domain tidak memberikan maklumat IP sumber permintaan yang sepadan, kami juga boleh merundingkan mekanisme pengesahan melalui interaksi pelayan.

Serupa: Tambahkan maklumat IP sumber pada pengepala permintaan HTTP untuk pertimbangan Memandangkan ia adalah proses komunikasi antara pelayan, pemalsu tidak dapat mengetahui kandungan maklumat khusus pemalsuan, jadi biasanya interaksi sedemikian boleh dipercayai.

Proses logik penghakiman

Pelayan A: Tambahkan pembolehubah MY_REALIP_c32fsjk234 => "1.2.3.4" pada pengepala permintaan HTTP Pada masa ini, sila ambil perhatian bahawa pembolehubah nama tidak boleh terlalu besar. Sebaik-baiknya kedua-dua pihak bersetuju dengan kunci rawak sebagai nama pembolehubah, serupa dengan MY_REALIP_c32fsjk234

Menerima peminta B: Gunakan $_SERVER['MY_REALIP_c32fsjk234'] untuk menentukan sama ada pengepala permintaan mengandungi pembolehubah MY_REALIP_c32fsjk234 Jika ya, dapatkan IP yang sepadan sebagai IP sebenar.

Pautan asal: https://blog.csdn.net/panguangyuu/article/details/122211682

Bacaan yang disyorkan:

tutorial php

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan IP sebenar dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
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