
いま PHP を使ってウェブサイトを構築しており、
認証として利用者のMACアドレスを取得したいと思っています。
LAN 内であれば
http://www.phpclasses.org/browse/file/7704.html
等を利用して取得できるようですが、
当たり前ですが LAN の外の方との通信では取得ができません。
JavaScript を使ってクライアント側の MACアドレスを取得してしまう
という方法があると聞いたことがあるのですが、
検索しても見つけ出すことができませんでした。
ご存じの方、お教え頂けますでしょうか?
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
複数PCのユーザーや、PCの買い替え、LANカードの変更など
MACアドレスが変わる機会は多々あります。
現実的には、ウェブアクセスで
MACアドレスでの認証は、可用性が低いと言えます。
逆に、ソーシャルアタックに対して
MACアドレス認証は弱い。
親のPCと自分のPCのLANカードを入れ換えるくらい
中学生でも簡単にやってのけるでしょう。
そうなんですよね...。
わかっちゃいるけど「この方法で!」という動きになってまして...。
まあ「この方法はやめたほうが良い!」とPJに伝えておきます。
(というか、この方法が出来ないんですけどね)
ありがとうございました。
No.1
- 回答日時:
結論から言うと無理ではないかと思います。
理由としましては、
もしJavaScriptでMACアドレスが取得できた場合、サーバへMACアドレスを送信することができます。
これではセキュリティもなにもありません。
また、CGI等で取得する場合も、取得できるのはクライアントのデフォルトゲートウェイのMACアドレスとなるはずです。
これはMACアドレスが第2層で使用されるのに対し、データの送受信はデータリンク層である第3層を通して通信を行いますので、変な設定をしていない限り必ずゲートウェイを通るためです。
※まったく自信ないです、すみません
確かにセキュリティ的に問題あるんですよね。
やはりこのやり方は
「万が一可能だとしてもやめた方が良い」
ってことでしょうね。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
PHP8でWarning:Undefined varia...
-
利用者側のMACアドレスを取得し...
-
C言語でマウスカーソルハンド...
-
バージョンナンバーの取得
-
MACアドレスを取得する方法はあ...
-
データ数をカウントしたいのですが
-
ディスプレイの表示可能な解像...
-
ListView 項目の選択/選択解除...
-
アクセスしてきたコンピュータ...
-
getParameter と getAttribut...
-
ファイル名の取得について
-
VBA ユーザーフォーム ボタンク...
-
【ACCESS】リレーションを組ん...
-
[Excel VB]プルダウンで文字選...
-
エクセルでエラーを無視して一...
-
Excel VBA 配列の分割について
-
「XML」の読み方
-
Excel VBAで、 ヘッダーへのセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
PHP8でWarning:Undefined varia...
-
データ数をカウントしたいのですが
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
Flexgridで選択行の列の値を取...
-
VBA:小数点以下の数字を取得で...
-
JavaScriptにおいてコンピュー...
-
Spreadの選択行の取得について
-
ASP(vbscript)におけるクライア...
-
エクセルVBAで複数選択できるよ...
-
asp.netでtextboxの値を取得
-
コンボボックス表示文字列を取...
-
現在時刻をミリ秒まで取得
-
EXCELのリストボックスを選択し...
-
Excel VBA でログインしてい...
-
URIでのページの移動について
-
VBA リストボックス内の値を複...
おすすめ情報