ホームページ バックエンド開発 PHPチュートリアル PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码_php技巧

PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码_php技巧

May 17, 2016 am 09:16 AM
mac

复制代码 代码如下:

function ce_getmac()
{
if(PHP_OS == 'WINNT')
{
$return_array = array();
$temp_array = array();
$mac_addr = "";
@exec("arp -a",$return_array);
foreach($return_array as $value)
{
if(strpos($value,$_SERVER["HTTP_CLIENT_IP"]) !== false &&
preg_match("/(:?[0-9a-f]{2}[:-]){5}[0-9a-f]{2}/i",$value,$temp_array))
{
$mac_addr = $temp_array[0];
break;
}
}
return $mac_addr ? strtoupper($mac_addr) : '';
}
else if(PHP_OS == 'Linux')
{
return true;
}
}

函数已经修改过了,到LINUX上发现不能使用EXEC函数,也就是获取不到MAC地址了。经过沟通,该项目必须部署在LINUX服务器下,笔者经过苦思冥想了半天终于找到了一个解决方案,不用执行EXEC也可以获取到内网用户的MAC地址。
在内网服务器中,有一台192.168.1.151的服务器,服务器上一个API,访问这个API,就获取用户MAC,JOSN的方式输出用户账号信息,因为该服务器可以获取MAC,就可以稍加利用了。
使用CURL伪造来源IP方式(IP不是LINUX服务器的IP,是客户端访问的IP地址),CURL到151服务器,服务器得到相应,根据用户IP地址 和ARP -A 参数的正则方式就可以得到客户端的MAC地址,程序运行在151,而151是WINDOWS 2008服务器。但是要注意的是不能使用REMOTE_ADDR,必须使用HTTP_CLIENT_IP。 原因是HTTP_CLIENT_IP可以使用CURL伪造,这样就可以使用LINUX获取用户IP,然后传送给151处理。
疑问:根据用户IP获取MAC地址,那用户换一个IP了怎么办呢?使用CMD下 ARP -A分析,即使用户跟换IP,但是对应该用户的这台计算机的MAC地址默认是不会更换的。

下面是摘抄网友的关于获取IP的文章:
dz的代码判断IP那块太让人头疼了,日,REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR三个东西在手册上太不详细了,基本上就等于没有。
网上gg了一下,找到一点,另外,有一个思路太巧了,用JS取IP以后POST到服务器,Y的用代理骗服务器?有种上网先把Js给关了啊!!哦哈哈,以后有机会用ajax试一下,也省得用这三个变量if得死去活来了。

$_SERVER['...']; // for php
一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。

REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。
HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。
$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)IP
$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR']; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Macのキーボードでパスワードを入力しても反応がありませんか? Macのキーボードでパスワードを入力しても反応がありませんか? Feb 20, 2024 pm 01:33 PM

はじめに: このウェブサイトでは、Mac のキーボードがパスワードを入力しても反応しないことに関する関連コンテンツを紹介しますので、お役に立てれば幸いです。 Apple Mac システムでパスワードを入力できない問題を解決するにはどうすればよいですか? このキーボードを他のコンピュータに接続して、正常に動作するかどうかを確認することもできます。別のコンピューターでも同じ問題が発生する場合は、キーボード自体に問題がある可能性が高くなります。キーボードを交換するか修理することを検討してください。 Mac コンピュータで初めて Alipay にログインすると、ログイン インターフェイスが表示され、パスワードを入力できません。パスワード入力フィールドには「コントロールをインストールするにはここをクリックしてください」と表示されるため、Alipay ログインにはセキュリティ コントロールのインストールが必要です。セキュリティ制御により、入力した情報 (金額、パスワードなど) を暗号化して保護し、アカウントのセキュリティを向上させることができます。ネクタイ

Mac コンピュータ名、ホスト名、Bonjour 名を簡単にカスタマイズするための 3 つのヒント Mac コンピュータ名、ホスト名、Bonjour 名を簡単にカスタマイズするための 3 つのヒント Mar 06, 2024 pm 12:20 PM

多くの Mac ユーザーはデバイスのデフォルト名をそのまま使用する傾向があり、それを変更することを決して考えないかもしれません。多くの人は、「Johnny's MacBook Air」または単に「iMac」など、初期設定の名前をそのまま使用することを選択します。 Mac の名前を変更する方法を学ぶことは、特に複数のデバイスを持っている場合に、デバイスをすばやく区別して管理するのに役立つため、非常に便利なスキルです。次に、macOS システムでコンピューター名、ホスト名、Bonjour 名 (ローカルホスト名) を変更する方法を段階的に説明します。 Mac 名を変更する必要があるのはなぜですか? Mac の名前を変更すると、あなたの個性が表れるだけでなく、ユーザー エクスペリエンスの向上にも役立ちます。 Mac をカスタマイズする: デフォルトの名前は好みに合わない場合がありますので、お好みの名前に変更してください。

Mac インストーラーのパスワードをお忘れですか? Mac インストーラーのパスワードをお忘れですか? Feb 20, 2024 pm 01:00 PM

はじめに: このウェブサイトでは、Mac インストール プログラムのパスワードを忘れた場合の関連コンテンツをご紹介しますので、お役に立てれば幸いです。 Apple コンピュータ インストール ソフトウェアのパスワードを忘れた場合の対処方法 まず、電話の設定で iCloud を見つけ、クリックして開きます。次に、アカウント番号とパスワードを入力します。ログインボタンの下に、IDまたはパスワードを忘れた場合を促す小さな文字が並んでいますので、これをクリックしてください。通常、ログインインターフェイスで間違ったパスワードを複数回入力すると、MacBook Pro はバインドされた Apple ID を使用してパスワードをリセットするように求めるメッセージを表示します。システムが要求する手順に従うだけで、パスワードのリセットを完了できます。 3. まず Mac をシャットダウンしてから再起動し、電源ボタンを押しながらすぐにキーボードの com を押し続けます。

Macにインストールするpkgファイル? Macにインストールするpkgファイル? Feb 20, 2024 pm 03:21 PM

はじめに: 今日、このサイトでは、Mac への pkg ファイルのインストールに関する関連コンテンツを共有します。現在直面している問題を解決できる場合は、このサイトをフォローして今すぐ開始することを忘れないでください。以前のバージョンの macos pkg をインストールしてオペレーティング システムをアップグレードすることはできません。ラップトップが古いオペレーティング システム バージョンを使用している場合は、最新のオペレーティング システム バージョンにアップグレードすることをお勧めします。古いバージョンでは最新の macOS システムのインストールがサポートされていない可能性があるためです。ディスクユーティリティで「消​​去」を選択し、フォーマットでMacos拡張子を選択し、暗号化オプションをチェックせず、apfsフォーマットを選択せず​​、最後に「消去」ボタンをクリックすると、消去を完了できない問題が解決されます。 macOSのインストール。アプリケーションのアイコンを「App」で始まるファイルにドラッグします。

Apple Mac で入力するときにページをめくるにはどうすればよいですか? Apple Mac で入力するときにページをめくるにはどうすればよいですか? Feb 20, 2024 pm 12:54 PM

はじめに: 今日、このサイトでは、Apple Mac で入力するときにページをめくる方法に関する関連コンテンツを共有します。現在直面している問題が解決できる場合は、このサイトをフォローして今すぐ開始することを忘れないでください。 Apple MacBook ラップトップでタッチパッドを使用するためのヒント Apple コンピュータで 2 本指スライドを設定する手順は次のとおりです: コンピュータのデスクトップで [設定] アイコンを見つけてクリックします。設定インターフェースで「タッチパッド」を選択し、「スクロールしてズーム」をクリックします。スクロールズームオプションの「スクロール方向:ナチュラル」にチェックを入れれば設定完了です。 Apple コンピュータで 2 本指のスワイプ方法を設定するのは簡単です。まず、コンピュータの電源を入れ、画面上部の「設定」アイコンをクリックします。設定インターフェイスで、「タッチパッド」オプションを選択します。次に、「スクロールズーム」をクリックし、「スクロール方向」がチェックされていることを確認します。

音声メッセージを自動的にテキストに変換するように WeChat Mac を設定する方法 - 音声からテキストへの変換を設定する方法 音声メッセージを自動的にテキストに変換するように WeChat Mac を設定する方法 - 音声からテキストへの変換を設定する方法 Mar 19, 2024 am 08:28 AM

最近、一部の友人が、音声メッセージを自動的にテキストに変換するための WeChat Mac の設定方法について編集者に相談しました。以下は、音声メッセージを自動的にテキストに変換するための WeChat Mac の設定方法です。必要な友人は来て、詳細を学ぶことができます。ステップ 1: まず、Mac バージョンの WeChat を開きます。図に示すように: ステップ 2: 次に、「設定」をクリックします。図に示すように: ステップ 3: 次に、「一般」をクリックします。図に示すように: ステップ 4: 次に、「チャットの音声メッセージを自動的にテキストに変換する」オプションをチェックします。図に示すように: ステップ 5: 最後に、ウィンドウを閉じます。図に示すように:

vmmac 仮想マシンのフルスクリーン (仮想マシン MacOS をフルスクリーンにする方法) vmmac 仮想マシンのフルスクリーン (仮想マシン MacOS をフルスクリーンにする方法) Feb 20, 2024 pm 01:15 PM

はじめに: vmmac 仮想マシンの全画面表示について多くの友人から質問がありました。この記事では、参考のために詳細な回答を提供します。お役に立てば幸いです。見てみましょう! Mac 仮想マシン オーバーウォッチに画面上の理由はありません: グラフィックス カードの互換性の問題です。以前はオーバーウォッチを正常に実行していたのに、現在は黒い画面が表示されている場合は、グラフィックス ドライバーの欠陥が原因である可能性があります。解決策: グラフィック カードがゲーム要件をサポートしているかどうかを確認します。グラフィックカードドライバーを更新します。 2 番目の可能性を排除するために、別の電源を使用してみてください。マザーボードに異常がないか、コンデンサの膨れ(故障の可能性あり)がないか、マザーボード表面に明らかな損傷がないか、回路が遮断されていないかなどを確認してください。マザーボードを修理ステーションに送って検査を受けることをお勧めしますが、状況が許せば、別のマザーボードと交換することを検討できます。

Mac で HEIC 写真を JPG に変換する 3 つの方法 Mac で HEIC 写真を JPG に変換する 3 つの方法 Mar 15, 2024 pm 08:43 PM

デフォルトでは、iPhone はカメラから HEIC 形式で写真を取得します。 HEIC は High Efficiency Image Container の略で、PNG や JPG ファイルよりも多くのピクセル データを保持できるため、他の形式に比べて iPhone ストレージ上の占有スペースが大幅に少なくなります。これらのファイルは iPhone で最もよく機能しますが、Apple 以外のデバイスと共有すると画像がぼやけたり粗くなったりすることが多いため、インターネットではあまり受け入れられていません。 HEIC 画像が他のデバイスと互換性があることを確認するには、画像を JPG 形式に変換する必要がある場合があります。この記事では、MacでHEIC画像をJPGに変換する方法を紹介します。 MacでHEIC写真をJPGに変換する方法【3つの方法】

See all articles