現在、PHP ウェブサイトを持っていますが、訪問者の MAC アドレスを取得したいのですが、誰か良い解決策を教えてください。
………………
これは不可能です。
取得できるのはクライアントの IP アドレスとブラウザー情報だけです。
クライアントにコントロールをインストールさせない限り、MAC アドレスは絶対に取得されません...
そのような解決策はありません
これを行う方法は実際にはありません
実行セクションのバットまたはシェルスクリプトが取得に使用します
exec を使用してコマンドを実行します 試してください
ユーザーに独自の入力を許可します。これが現時点での最良の方法です
メソッドがある場合は、忘れずに投稿してください
定義 ('EXEC_TMP_DIR', 'C:WINDOWSTemp');
function WindExec($cmd,$mode= ''){
$cmdline $ cmdline .= " > $outputfile";
else $m = false;
$WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Run($cmdline, 0, $m);
if ($outputfile){
$retStr = file_get_contents($outputfile);
unlink($outputfile);
else $ret Str = "";
return $ retStr;
echo WindExec('ipconfig/all','FG');私のマシンでは動作します。一時ファイルの場所が異なるだけかもしれません
('EXEC_TMP_DIR', 'C:WINDOWSTemp'); function WindExec($cmd,$mode=''){
$cmdline = "cmd /C $cmd" ;
if ($mode=='FG'){
$outputfile = EXEC_TMP_DIR."\".time( ) .txt";
$cmdline .= " > $outputfile";
else $m = false;
$oExec = $WshShell->Run($cmdline, 0, $m);
if ($outputfile){
}
echo WindExec('ipconfig/all', 'FG');私のマシンでは、どのウィンドウでも機能すると思います。
function WindExec($cmd, $mode) の場所を変更するだけです。 =''){
$cmdline = "cmd /C $cmd";
if ($mode=='FG'){
$outputfile = EXEC_TMP_DIR."\".time() ; …
… …
基本概念
PHP はサーバー側で実行されます
9th Floor の返信からの引用:
define ('EXEC_TMP_DIR', 'C:WINDOWSTemp');
function WindExec($cmd,$mode=''){
$cmdline = "cmd /C $cmd";
if ($mode=='FG'){
$outputfile = EXEC_TMP_DIR."\".time() . ".txt";
……
…… これは確かにサーバー側でのみ可能です。制御を持っています
1つの解決策は、macを取得するためにサーバーモジュールとphpモジュールを実装することです
原則によれば、phpは通常cgi fastcgiまたはモジュールです
したがって、これはサーバー(iis apacheまたはngnix、など)
そして、データは php に渡します
したがって、これを受け取って処理するための php モジュールを作成する必要があります
単純ではないようです
これは本当に難しいです
何が何だかわかりませんMAC を入手するためにあらゆる方法を試してみませんか?
MAC はネットワークを越えられないことに注意してください。つまり、ルーターを通過する限り無効になります
js 経由で wmi を呼び出すことで MAC を取得できます