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.
Mendapatkan semula alamat IP pelayan adalah mudah dalam PHP menggunakan $_SERVER['SERVER_ADDR'].
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 sedia ada melalui $_SERVER ['REMOTE_ADDR'].
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]; } }
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!