2012-03-01 17 views
2

私は、コンピュータに登録されたソフトウェアを持ち、コンピュータのコンピュータ名とユーザー名を使用する会社のWebサイトを構築しています。どのように私はそれらを記入する必要なくユーザーがそれらの値を取得できますか?コンピュータ名を取得する

それはあなたがすることはできません任意の

答えて

10

を助け場合、私はCodeIgniterのを使用しています。すべてのPHPはユーザーのマシンのIPアドレスを見ることになります。そこから逆引き参照を行い、ホスト名を得ることができます。しかし、このホスト名は実際のマシンの名前ではありません。ユーザーのクライアント側のユーザー名を確認します。ウェブサイトは、ユーザがローカルマシンにどのようにログインしたかを知ることはできません。

+0

はい私は、[OK]を –

+0

、これに同意します、コンピュータ名はどうですか?そして、それはPHPにする必要はありません。 Jqueryか何かクライアント側がこれを達成できますか? – JonYork

+1

いいえ、javascriptにはその種類の情報へのアクセス権もありません。それが可能であれば、すべてのバナー広告が「SpeedDemon」ボックスに「Hey JonYork、パスワード1234」と表示されます。 –

0

すべてが同じローカルネットワーク上で発生した場合、あなたがそのようなもので、訪問者のIPに対応するMACアドレスを検索するために、サーバー・マシンを使用することができますが:

/** 
* Returns MAC-address (Ethernet 2-level in OSI model address) 
* @param string $ip Address to search MAC for. If not set, IP-address from constructor'll be used 
* @return mixed 
*/ 
public function getMAC($ip=null) 
{ 
    if((!$ip && !$this->sCurrentIP) || !$this->_arp_allowed()) 
    { 
     return null; 
    } 
    $ip=$ip?$ip:$this->sCurrentIP; 
    $rgMatches=array(); 
    if(PHP_OS=='WINNT') 
    { 
     exec("arp -a", $rgResult); 
     $sMacTemplate="/[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}/i"; 
     foreach($rgResult as $key=>$value) 
     { 
      if (strpos($value, $ip)!==FALSE) 
      { 
      preg_match($sMacTemplate, $value, $rgMatches); 
      break; 
      } 
     }; 
    } 
    else 
    { 
     exec("arp -a | grep $ip", $rgResult); 
     if(count($rgResult)) 
     { 
      $sMacTemplate="/[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}/i"; 
      preg_match($sMacTemplate, $rgResult[0], $rgMatches); 
     } 
    } 
    return count($rgMatches)?$rgMatches[0]:null; 
} 
関連する問題