PHPの$_SERVERでリモートホスト取得

このQ&Aのポイント
  • PHPの$_SERVERを使用してリモートホストを取得する方法について
  • 自サイトで取得したリモートホストが他のサイトと異なる問題について
  • アクセス解析のログでは正しく取得できるが、PHPでは取得できない理由について
回答を見る
  • ベストアンサー

PHPの$_SERVERでリモートホスト取得

自サイトに設置したPHPの $_SERVER["REMOTE_HOST"]; でリモートホストを取得しているのですが、診断くんなどで表示されるリモートホストと若干違います。 ISPはBIGLOBEでリモートホストが AB-123~.mesh.ad.jp なのですが、他のサイトでは正しく表示されますが、自分のサイトでは先頭が小文字になっています。 AB-123~.mesh.ad.jp が ab-123~.mesh.ad.jp になってしまう。 取得したリモートホストは自分をアクセス解析にカウントさせないために使っていますが、利用している解析CGIが、大文字・小文字を区別して弾いているため正しい(という言い方は変ですが)リモートホストが取得したいのです。 どうすれば他のサイトと同じ表示ができるでしょうか? アクセス解析のログでは大文字で取得できているのでDNSの問題ではなさそうです。 アクセス解析はCGIなので、CGIでは可能でPHPでは不可という事でしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

裏を取ってませんが、Apacheが小文字化している物と思いますので、DNSに登録されたままの文字列が欲しいのなら、$_SERVER["REMOTE_ADDR"] を使って自分でDNSを引くしか方法が無いかと思います。 そもそもホスト名というのは、大文字小文字を無視することになっているので、お使いのCGIが大文字小文字区別して同一性判断をしているとすると、それはCGIプログラムのバグですね。 言い換えると、すべて小文字でも正しいリモートホスト名です。

strawberry25903
質問者

お礼

ありがとうございます、下記1行で解決しました! $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); CGIの作者のサイトが閉鎖されちゃって連絡も取れないし、 困っていたんですよね。ありがとうございました。

関連するQ&A

  • 環境変数のリモートホスト

    「診断くん」で自分の環境変数を調べました。 私のプロバイダはBIGLOBEです。リモートホストが、FLA1Abc122.kgs.mesh.ad.jp、といったようにでます。 これは有名なサイト「価格コム」で投稿者に表示される記号に似ています。価格コムで表示されているのはその人のリモートホストなのでしょうか? じつは私はREMOTE_HOST(リモートホスト)とは何のことかもわかりません。IPアドレスとはまた違う、プロバイダの自分の登録番号なのでしょうか?

  • リモートホスト名って変わっていくものですか?

    ブログを始めたばかりの初心者です。教えてください。アクセス解析に自分のリモートホスト名をフィルタ設定で表示されないようにしたら、載りませんでしたが、しばらくして、また載るようになりました。 よく見たら、リモートホスト名が変わっていました。IDが変わるのはこの間知ったのです。リモートホスト名もずっと変わり続けるのでしょうか。まったく知らないもので。宜しくお願いします。

  • REMOTE_HOST(リモートホスト) ff-in-f129.google.com

    ブログというかHPを持っているのですが、最近このリモートホストからの アクセスが頻繁にあります。 REMOTE_HOST(リモートホスト) ff-in-f129.google.comとはいったい何なのでしょうか?  よろしくお願いいたします。

  • アクセス解析のリモートホストについて

    アクセス解析の、REMOTE_HOSTについて教えて欲しいのですが、 見た初回の日付や、前回の日付からみて、確実に同じ人なのに、REMOTE_HOSTの最初の部分が全部違うんです。普通のことなんでしょうか? 他の人はいつも同じです。 詳しくわからないので教えてください。 よろしくお願いします。

  • リモートホストについて

    リモートホストに自分が住んでいる都道府県名が出てくるのですが、どうすれば、自分の住んでいる都道府県を出さずにできますか? 自分が住んでいる、都道府県が他の人にもアクセス解析等で見られていると思うと怖いです。 よろしくお願いします。

  • リモートホスト名からおおよその接続元の場所はつかめるのでしょうか?

    現在運営中のホームページの掲示板があらされて困っております。 アクセス解析により、荒らす人のリモートホスト名は取得できております。 当然プロキシを通してそういった行為に及んでいるのは間違いないと思われますが、一応知識を増やすという意味で質問させてください。 アクセス解析で取得したリモートホスト名から、たとえば相手が日本のプロバイダを使用しているとわかっても、さらに、どの都道府県からアクセスしているのかということまでわかってしまうものなのでしょうか??

  • リモートホストって・・・

    掲示板などに書き込むとIPアドレスやリモートホストが 表示される掲示板ってありますよね。 この、表示されるリモートホストって何で決まってるん でしょうか? プロバイダで、でしょうか?アクセスポイントで、でしょうか? あるプロバイダ(A)ともう一方のあるプロバイダ(B)が 同じアクセスポイントを使用してたみたいなのですが、 この場合、AからBのプロバイダに乗り換えても リモートホストは同じでしょうか? (地名が出るのがどうも嫌で(^^ゞ

  • リモートホストで国名

    先日ホームページにレンタルのアクセス解析をつけました。リモートホストもわかる解析クンで重宝しているのですが、このリモートホストで知らないプロバイダの名前が出てきました。そのプロバイダにアクセスしてみたら英語が並んで・・あぁ、海外のプロバイダか、すごいなぁ・・・海外からも見に来る人ホントにいるんだ・・・とか感動したんですが・・・。 そこのプロバイダさんがアメリカからヨーロッパ、アジアetcとワールドワイドに商売しているところみたいで、ウチに足跡を残していった人がどこの国からアクセスしてきたのかわからないのがちょっと残念。日本にも拠点があるみたいなのでもしかしたら日本からなのかもしれないのですが・・・・リモートホストでどこの地域・・とはわからなくてもせめてどこの国からアクセスしたかとかわからないものでしょうか? (でもほんまもんでそのリモートホストを使っているかどうかは怪しいんですけどね(^_^;)でも知りたい!) 日本のプロバイダだとoosakaとかibaragiとかくっついているのですぐわかるんですが、この手のヤツはさっぱりわかりません。 どなたかご親切な方、教えてください。お願いします。

  • リモートホストから地域を知るには

    当方アクセス解析を入れていますが、リモートホストから地域、その他情報を知るにはどうしたらよいのでしょう。 わかっているのは下の通りです。 *****.ade3.point.ne.jp ⇒ ***.***.***.*** よろしくお願いします。

  • リモートホストによるアクセス制限の方法について

    アクセスがあった場合、携帯とパソコンとで表示するページを振り分けようと思っています。 携帯のページを、パソコンからのアクセスでは表示したくないので、IPかリモートホストによって振り分けようと思っているのですが、分からないことが出てきたので、アドバイスを頂けると助かります。 例えばドコモの携帯からアクセスがあった場合は、リモートホストはアクセス解析をすると proxy111.docomo.ne.jp proxy112.docomo.ne.jp と表示されます。 ドコモの場合は、「docomo.ne.jp」より前の部分は数字が違うだけで同じなのですが、AUやボーダフォンの場合は異なってくるんです。 そこで、「ezweb.ne.jp」や「jp-t.ne.jp」「skyweb.jp-k.ne.jp」の前の部分に何がきても良いようにすることはできるのでしょうか? 例えば「*.ezweb.ne.jp」「*.jp-t.ne.jp」「*.skyweb.jp-k.ne.jp」のように、ワイルドカードを使用することはできるのでしょうか? CGIで振り分けを行うつもりです。 やりたい事は、要するに携帯専用のページにパソコンから絶対にアクセスできないようにしたいと思っています。 何か良いアイディアがありましたら、御教授して頂けると嬉しく思います。 それでは、よろしくお願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう