- PR -

マシンID取得方法

投稿者投稿内容
いのき
ベテラン
会議室デビュー日: 2005/10/06
投稿数: 88
投稿日時: 2005-10-31 14:56
いつもお世話になります。いのきです。

うぅ・・・。なんか未知の世界の話になってきましたね(涙)。
勉強になりました。
ルーターで送信元IPがNATされたときは、マシンIPではなく、ルータIPになるのですね。

・・・でも、みなさんホント物知りですね。ってゆーか、知ってて当たり前なのか?
あまりに無知な自分が恥ずかしい・・・。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-10-31 16:38
引用:
サーバにREMOTE_ADDRを送信していると思いますけど


「送信している」という表現が微妙。蛇足だとは思いますが念のため。

REMOTE_ADDR はクライアントが送信する HTTP ヘッダに載っているわけではなく、Web サーバーがソケットアドレスから生成している CGI 環境変数です。

なので、CONTENT_LENGTH や HTTP_REFERER などの HTTP ヘッダから生成される CGI 環境変数とは本質的に異なります。そのため REMOTE_ADDR は、HTTP ヘッダ項目に比べると偽装が困難で、実際に TCP/IP で通信を行っている端末のアドレスが相手に伝わります。
キルシェ
常連さん
会議室デビュー日: 2004/03/25
投稿数: 26
投稿日時: 2005-10-31 19:27
あー、なるほど。

REMOTE_ADDRは頭の片隅にあったので、てっきり(JSPで)、
request.getHeader("REMOTE_ADDR")でいけるかな、と
思っていましたが、これだとうまくいきませんでした。
(結果はnullでした)

で、よくよく見直してみると、request.getHeaderではなく、
request.getRemoteAddrというメソッドで、こちらが
REMOTE_ADDR(ソケットから取得する)のようですね。

getHeaderは、ブラウザが送信するリクエストヘッダですので、
そっちから勘違いをしていたようです。
お騒がせしました(^^;;

スキルアップ/キャリアアップ(JOB@IT)