ホームページ >バックエンド開発 >PHPチュートリアル >PHP でクライアントの IP アドレスと MAC アドレスを取得するにはどうすればよいですか?
サーバー情報の取得
サーバーの IP アドレスは $ から取得できます。 _SERVER['SERVER_ADDR']。 MAC アドレスを取得するには、netstat -ie (Linux) または ipconfig /all (Windows) の出力を解析します。
クライアント データの取得
クライアントの IP アドレスは次のとおりです。 $_SERVER['REMOTE_ADDR'] ですぐに利用できます。ただし、MAC アドレスへのアクセスには課題があります。
クライアント MAC アドレス (LAN のみ)
クライアントとサーバーが同じイーサネット セグメント上に存在する場合は、次のことを確認できます。 arp -n (Linux) または arp -a の出力を解析することによるクライアントの MAC アドレス(Windows)。
<?php $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]; } } ?>
LAN がありませんか? MAC アドレスへのアクセスがありません
残念ながら、クライアントが他の手段で明示的に情報を提供しない限り、ローカル ネットワークの外側にあるクライアントの MAC アドレスを取得することはできません。
以上がPHP でクライアントの IP アドレスと MAC アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。