Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mendapatkan Alamat MAC dan IP Pelanggan yang Disambungkan Menggunakan PHP?

Bagaimanakah Saya Boleh Mendapatkan Alamat MAC dan IP Pelanggan yang Disambungkan Menggunakan PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-18 03:59:16861semak imbas

How Can I Get the MAC and IP Addresses of Connected Clients Using PHP?

Mendapatkan Alamat MAC dan IP Pelanggan yang Disambungkan dalam PHP

Artikel ini bertujuan untuk membantu pembangun mendapatkan semula alamat MAC dan IP pelanggan yang disambungkan ke skrip PHP mereka. Memahami cara memperoleh maklumat ini adalah penting untuk pelbagai aplikasi berkaitan rangkaian.

Alamat IP Pelayan

Mendapatkan semula alamat IP pelayan adalah mudah dalam PHP menggunakan $_SERVER['SERVER_ADDR'].

Alamat MAC Pelayan

Mendapatkan alamat MAC pelayan bukan asli Ciri PHP. Walau bagaimanapun, satu pendekatan adalah untuk menghuraikan output perintah luaran seperti netstat -iaitu dalam Linux atau ipconfig /all dalam Windows.

Alamat IP Pelanggan

Alamat IP pelanggan sedia ada melalui $_SERVER ['REMOTE_ADDR'].

Alamat MAC Pelanggan

Malangnya, PHP tidak menyediakan cara langsung untuk mendapatkan semula alamat MAC pelanggan. Walau bagaimanapun, ia boleh dilakukan di bawah satu syarat tertentu: jika pelanggan berada pada segmen Ethernet yang sama dengan pelayan. Dalam kes sedemikian, anda boleh menghuraikan output arp -n (Linux) atau arp -a (Windows).

Mendapatkan Keluaran Perintah Luaran

Berikut ialah contoh menggunakan backticks untuk mendapatkan semula output arahan luaran:

$ipAddress = $_SERVER['REMOTE_ADDR'];
$macAddr = false;

$arp = `arp -a $ipAddress`;
$lines = explode("\n", $arp);

foreach ($lines as $line) {
   $cols = preg_split('/\s+/', trim($line));
   if ($cols[0] == $ipAddress) {
       $macAddr = $cols[1];
   }
}

Had dan Pertimbangan

Berhati-hati bahawa jika pelanggan tidak berada pada rangkaian tempatan, anda tidak boleh menentukan alamat MACnya tanpa mekanisme sisi klien tambahan untuk menyediakannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Alamat MAC dan IP Pelanggan yang Disambungkan Menggunakan PHP?. 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