Dalam PHP, mendapatkan alamat MAC dan IP bagi pelanggan yang disambungkan memerlukan pendekatan yang berbeza kerana ketersediaan yang berbeza-beza ini maklumat.
Alamat IP pelayan tersedia melalui $_SERVER['SERVER_ADDR' ]. Bagi alamat MAC, ia boleh diperoleh semula dengan menghuraikan output arahan seperti netstat -iaitu (Linux) atau ipconfig /all (Windows).
Alamat IP pelanggan boleh diperolehi daripada $_SERVER['REMOTE_ADDR'].
Menentukan alamat MAC pelanggan dalam PHP adalah mencabar, kerana ia biasanya tidak boleh diakses oleh pelayan kecuali apabila pelanggan berada pada Ethernet yang sama segmen.
Jika pelanggan berada pada LAN yang sama, menghuraikan output arp -n (Linux) atau arp -a (Windows) boleh memberikan alamat MAC. Berikut ialah contoh dalam PHP menggunakan backticks:
<br>$ipAddress=$_SERVER['REMOTE_ADDR'];<br>$macAddr=false;</p> <h1>jalankan arahan luaran, pecahkan output ke dalam baris</h1> <p>$arp=arp -a $ipAddress;<br>$lines=explode("n", $arp);</p> <h1>cari baris keluaran yang menerangkan alamat IP kami</h1> <p>foreach($lines sebagai $line)<br>{<br> $cols=preg_split('/s /', trim($line));<br> if ($cols[0]==$ipAddress)<br> {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> $macAddr=$cols[1];
}
}
Walau bagaimanapun, jika pelanggan tidak berada pada LAN yang sama, mendapatkan semula alamat MAC tidak boleh dilakukan melalui PHP tanpa cara penghantaran maklumat tambahan daripada pelanggan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kembali Alamat MAC dan IP Pelanggan yang Disambungkan Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!