- ベストアンサー
Perlでマックアドレスの取得
たまに掲示板にキーIDなるものが表示されるものを見かけます。大きいところで言えば、2chなど。 あのIDは何を元に取得しているのでしょうか?IPアドレスでIDを作成しても動的の場合はほとんど意味が無く、かといってクッキーで保存しても消されたら意味がないと…。 そこで、マックアドレスを元にIDを作成したいと考えました。しかし、自分のマックアドレスというのはどこまではき出されているものなのでしょうか? ルータでマックアドレスを参照してDHCPというのが可能と言うことは、少なくとも自分のPCからネットワークにはき出されるということは分かります。 しかし、マックアドレスはインターネット上にまで出ることがあるのでしょうか? もしできるのならば、Perlでマックアドレスを参照したいのですが…分かりません。 どうかお答えをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
掲示板で、なりすまし投稿や一人芝居投稿の防止策としてのIDですよね? ほとんどがクッキーを利用したものですよ。削除すればまた別IDで再発行されます。 クッキー以外でIDとして利用できるのは、MomijiPandaさんからのご指摘と一部重複しますが、 IPアドレス。コロコロ変化します。 逆引き可能であればホスト名の一部。同じISP同士であれば重複します。 ブラウザ情報を含んでいるUser-Agent。クライアント側で詐称される可能があります。 掲示板での投稿者名やパスワード。 それぞれ一長一短ありますが、 これらをいろいろと絡めることでそこそこ固定で重複しないIDを生成することもできます。 ・・・クッキーが一番楽ですけど。
その他の回答 (2)
- MomijiPanda
- ベストアンサー率50% (13/26)
Macアドレスを取得したいと言うよりも、 ユニークな(重複しない)IDを生成したいということで しょうか? この場合「セッション」や「セッションID」 「セッション管理」などで検索されると良いと 思います。色々な手法がありますが、Perlで独自に 生成したい場合には $sid = $$ . time() . $ENV{REMOTE_ADDR} . $ENV{HTTP_USER_AGENT} といった具合に、いくつかの要素を組み合わせて 生成する場合が多いです。 ただ、このままだと少々長く、IPアドレスなどが 生で見えてしまうのはよろしくありませんので、 通常はこれを何らかの方法で変換してやります。 自分で作成しなくも、PerlにはセッションIDを 生成してくれるモジュールが転がっていますから、 そちらを使われた方が楽チンだと思います。 > IPアドレスでIDを作成しても動的の場合はほとんど > 意味が無く、かといってクッキーで保存しても消さ > れたら意味がないと…。 動的の場合は意味がないというのが良くわから ないのですが(^^; 一度IDを作成してしまえば、むしろ動的なページの 方が、hiddenやクエリーなどで引き回しやすいと思う のですが...。
お礼
質問の趣旨に不備があり申し訳ありませんでした…。 No.3の方がいっているように、連続書き込みや荒らしなどの行為を行った者に対して、特定の制限をかけるようにしたいと思っての質問でした。 IPアドレスが動的に割り振られてるものだった場合、インターネットに接続するたびにIPアドレスが変わってしまいある個人が特定できないという意味で書き込みをしたつもりでした。 セッションIDなども調べてみたいと思います。
- MovingWalk
- ベストアンサー率43% (2233/5098)
>マックアドレスはインターネット上にまで出ることがあるのでしょうか? 残念ながら出ません。ルータで置き換えられて転送されていきます。 こちらをご覧になれば理解できると思います。 http://www.mm-labo.com/computer/tcpip/ipaddress/ipaddressandmacaddress.html
お礼
そうだったんですね…残念です…。 しかしやはりそうですよね…マックアドレスがそう簡単に外部に漏れてしまっては…。 流れないというのは、よく分かりました。どうもありがとうございました。
お礼
そうです~、荒らし行為等を制限したいなぁと思ってのことでした。 確かにクッキーが一番ですねぇ…。 ですが、最近のブラウザ(純正ではなく、APIを利用して作られているもの等)はクッキーの削除も一発で出来てしまう機能がついているものがありちょっと困ったなぁと思いました…。 やはり、完全に個人を特定するというのは現在ではまだ難しいのですね…。 そこはしょうがないと割り切って再度作ってみます。 どうもありがとうございました~。