ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して、接続されているクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?
PHP では、接続されているクライアントの MAC アドレスと IP アドレスを取得します。接続されたクライアントは、このサービスの可用性が異なるため、異なるアプローチを必要とします。
サーバーの IP アドレスは、$_SERVER['SERVER_ADDR' を通じてすぐに入手できます。 ]。 MAC アドレスについては、netstat -ie (Linux) または ipconfig /all (Windows) などのコマンドの出力を解析することで取得できます。
クライアントの IP アドレスは次から取得できます。 $_SERVER['REMOTE_ADDR'].
PHP でクライアントの MAC アドレスを決定するのは困難です。クライアントが同じイーサネット上に存在する場合を除き、通常はサーバーにアクセスできないためです。セグメント。
クライアントが同じ LAN 上に存在する場合、arp -n (Linux) または arp -a (Windows) の出力を解析すると MAC アドレスが得られます。バックティックを使用した PHP の例を次に示します。
<br>$ipAddress=$_SERVER['REMOTE_ADDR'];<br>$macAddr=false;</p> <h1> 外部コマンドを実行し、出力を分割しますLines</h1> <p>$arp=arp -a $ipAddress;<br>$lines=explode("n", $arp);</p> <h1>IP アドレスを記述した出力行を探します</h1> <p>foreach($lines as $line)<br>{<br> $cols=preg_split('/s /', trim($line));<br> if ($cols[0]==$ipAddress)<br> {</p> <pre class="brush:php;toolbar:false"> $macAddr=$cols[1];
}
}
ただし、クライアントが同じ LAN 上にない場合は、MAC アドレスを取得します。クライアントからの追加の情報送信手段がなければ、PHP では不可能です。
以上がPHP を使用して、接続されているクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。