• ベストアンサー

REMOTE_HOST

APACHE2.xで、REMOTE_HOSTを返すまでの動作がどうなっているか、どなたかわかりませんでしょうか? DNSに問い合わせたものを返すのか、あるいはリクエストに含まれるなんらかの値を返すのか。 というのは、REMOTE_HOSTでリクエスト元のリモホを取得しているのですが、一部リクエストでREMOTE_HOSTが偽装されているようなのです。 ネットで調べても、内部で問い合わせているだけという話もあれば、偽装は可能なのでREMOTE_HOSTとREMOTE_ADDRを比較することは有効という話もあり… APACHEの仕様書も見つからず…

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

  • ベストアンサー
  • Ceren
  • ベストアンサー率49% (90/183)
回答No.1

マニュアルによれば、REMOTE_HOST環境変数はDNSの逆引き結果が設定されるようですよ。

参考URL:
http://httpd.apache.org/docs/2.0/mod/mod_cgi.html

関連するQ&A

  • 【 REMOTE_HOSTの値の取得方法について 】

    既製のCGIを設置するのがイッパイイッパイの 初心者ですm(__)m REMOTE_HOSTの値を取得して表示させたいのですが 当方レンタル中のサーバーの初期設定では取得できず 下記の如くの手順で取得するように表示してありましたが どうにも理解できず困っております。 下記の「Perl内」とは何処の事を指しているのか アドバイスを頂きたくお願い申し上げます。 ****以下、該当サーバーの説明文引用***** 【 REMOTE_HOSTの値の取得方法について 】 レンタルサーバーの処理速度を優先して、初期状態ではIPアドレスからDNSの参照をしないように設定している為、REMOTE_HOSTの値を取得したい場合はPerl内で下記の記述をして下さい。 $addr = $ENV{'REMOTE_ADDR'}; $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;

    • ベストアンサー
    • Perl
  • J-PHONEのリモホは?

    J-PHONEを使ってBBSなどに書き込みした場合のリモホはどれだけ種類があるんでしょう? 携帯からの場合、携帯用端末の場合、パソコンの場合・・・それぞれ教えていただきたいのですが。 私のリモホは下記のようでした(一部の数字を伏せてます) 携帯↓ Remote Host: 210.146.6*.19*, Time: 991679661 携帯用端末↓ Remote Host: JPKce-0*p19.ppp.odn.ad.jp, 私が探しているのは下記のようなリモホです。 Remote Host: wgpproxytn0*01.skyweb.jp-t.ne.jp, Time: 991391525 どういった状態でこのようなリモホになるんでしょうか? 私がわかることはJ-PHONEの関東地区ということだけです。 おなじリモホの方がいらっしゃいましたら、なにを使っているかなど教えてください。 よろしくお願いします。

  • ASP(vbscript)におけるクライアントPC名の取得について

    ASP(vbscript)におけるクライアントPC名の取得について お世話になります。 現在、HPへのアクセス解析をaspで作成中です。(社内専用イントラ) IPアドレス取得はRequest.ServerVariables("REMOTE_ADDR")でできました。 しかし、PC名がどうしても取得できません。 Request.ServerVariables("REMOTE_HOST")で試してみましたが、エラーなのか 何も取得せずです。 プロキシを経由し、DNSサーバを利用しています。 これが何か関係するのでしょうか? お力添えよろしくお願いします。 Server:2003Server Client:Windows XP

  • Perlでの$ENV{REMOTE_ADD}の信ぴょう性を教えてくださ

    Perlでの$ENV{REMOTE_ADD}の信ぴょう性を教えてください。 Perlによる、CGIサイトを運営しています。 IPアドレスを$ENV{REMOTE_ADD}で取得し、Firewall内プライベートアドレス(10.*.*.*)以外はloginをしないと内容が表示されないようにスクリプトをつくり、Firewallの内外から動作確認し、きちんと動いていたのでそのまま運用していました。 ところが、先日海外(ハワイ)に行った際、アップルストアでそのサイトにアクセスした際にloginなしで内容が表示されてしまいました。 アップルストアに置いてあったPCなので、IP偽装などは行っていないと思われますので、どうして見えるのだろうかわかりません。 $ENV{REMOTE_ADD}で取得した値は信ぴょう性がないのでしょうか?それとも、10.*.*.*はグローバルアドレスとして使用可能なのでしょうか?

    • ベストアンサー
    • Perl
  • nslookup時のDNSサーバのタイムアウトについて

    nslookupを実行し、外部サーバの逆引きレコードを引いた結果、 1回目はタイムアウトなのですが、2回目は成功します。 DNSサーバの動作として、これは正常なのでしょうか? また、1回目にタイムアウトになってしまう原因には どんなことが考えられるでしょうか? ご教示の程、宜しくお願い致します。 以下、コマンド実行結果 > nslookup Server: <host name of dns server> Address: 192.168.1.1 > set type=ptr > 216.91.93.202.in-addr.arpa  ★1回目 Server: <hostname of dns server> Address: 192.168.1.1 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. *** Request to <hostname of dns server> timed-out > 216.91.93.202.in-addr.arpa  ★2回目 Server: <hostname of dns server> Address: 192.168.1.1 Non-authoritative answer: 216.91.93.202.in-addr.arpa name = d.top.vip.bbt.yahoo.co.jp 以下省略 というように、1回目はタイムアウト、 2回目はレコードを引くことができます。

  • はじめまして、今回CentOS5.5 にて DNSサーバ(LAN内部向

    はじめまして、今回CentOS5.5 にて DNSサーバ(LAN内部向け)を構築中の者ですが、 設定にて、どうしても上手く動作せず手詰まり状態の為、皆様のお知恵をお借りしたく こちらに投稿させて頂きました。 内容ですが、CentOS5.5にてLAN内部のみ向けのDNSサーバを設置設定し、namedの動作確認、 ホストに割り当ててるIPアドレスの逆引きゾーンにて 「Host xxx.xxx.xxx.xxx.in-addr.arpa not found: 3(NXDOMAIN)」 と出てしまいます。 ゲートウェイのIPアドレスだと、一致しています。 調べてみると「{3(NXDOMAIN}の場合は権威ある DNSサーバーとして機能していません。 "named.conf"ゾーン名の宣言"xxx.xxx.xxx.in-addr.arpa"が 正しく書かれていないということなります」 とのことでした。 その為、改めて一語一句改めて設定したのですが、同じ状態です。 後、どこを修正すれば良いのかわからない状態です。 質問が拙く大変申し訳ありませんがよろしくお願いします。

  • 携帯キャリア判断

    昔貰った携帯のキャリア判断のPHPなのですが最新版のものが作りたくていろいろと探してますが見つかりません… 下記に記載されているPHPで詳しい方解説、助言または参考サイトを教えていただけると助かります。 今やろうと思っているのはau,docoo,SoftBankが正しく振り分けられているかの確認とイーモバイル、ウィルコム、iフォンなどの項目を追加することです。 よろしくお願いいたします。 ↓携帯キャリア判断 <?php if ($_REQUEST['butaman']){ $career = $_REQUEST['butaman']; return; } $career = check_host_career(); if($career == 'pc'){ if($_COOKIE['safe'] == 'anzen'){ setcookie('safe','anzen',(time() + (60*60*24*30))); $career = 'master'; } } //-------------------------------------------------------------- //ホストをチェックする関数 function check_host_career(){ $REMOTE_HOST = gethostbyaddr($_SERVER['REMOTE_ADDR']); if (ereg("\.(ido|ezweb)\.ne\.jp$",$REMOTE_HOST)) { $ret = 'au'; /*if (ereg("^KDDI",$HTTP_USER_AGENT)) { // EZweb WAP2.0 端末用の処理 } else { // EZweb 旧端末用の処理 }*/ } elseif ($REMOTE_HOST == 'pdxcgw.pdx.ne.jp') { // H" 用の処理 $ret = 'ejji'; } elseif (ereg("\.docomo\.ne\.jp$",$REMOTE_HOST)) { // i-mode 用の処理 $ret = 'docomo'; } elseif (ereg("\.jp-[ckqt]\.ne\.jp$",$REMOTE_HOST)) { // J-SKY 用の処理 $ret = 'j-sky'; } elseif (ereg("\.pipopa\.ne\.jp$",$REMOTE_HOST)) { // L-mode 用の処理 $ret = 'l-mode'; } elseif (ereg("\.softbank\.ne\.jp$",$REMOTE_HOST)) { // softbank 用の処理 $ret = 'softbank'; } elseif (ereg("\.vodafone\.ne\.jp$",$REMOTE_HOST)) { // vodafone 用の処理 $ret = 'vodafone'; } elseif (ereg("\.emnet\.ne\.jp$",$REMOTE_HOST)) { // イーモバイル 用の処理 $ret = 'e-mobile'; } else { // それ以外 $ret = 'pc'; } //返す値 return $ret; } ?>

    • 締切済み
    • PHP
  • REQUEST_URIなどの環境変数の値を見たい

    REQUEST_URIやQUERY_STRINGなどの環境変数の値を直接確認したいです。 しかしphpなどの言語でなくlinuxの命令やapacheのディレクティブで出力するなどで知る方法はないでしょうか。 またphpでREQUEST_URIなどを確認した場合それはapacheのディレクティブ処理時の値と同じという保証はあるのでしょうか。 もう一つ、apacheをローカルで動作させている場合REQUEST_URI中でQUERY_STRINGに相当する部分が無いということはありうるでしょうか。 どれか一つでも助言頂けると助かります。

  • 接続元の環境を調べるCGIを求めています。

    接続元の環境を調べるCGIを求めています。 現在利用中のものが、REMOTE_HOST を利用してホスト情報を取得するように設定されているのですが、REMOTE_HOST を利用したい場合は、apache 側にて HostnameLookups を On にしておく必要があるとの事です。 しかしながら、現在利用中のサーバでは HostnameLookups は Off となっておりました。 HostnameLookups を On にすると、アクセスがある度に名前解決を行い、ホスト情報を取得しようとするため、サーバに負荷がかかってしまいますので、あまりお勧めできませんとの事でした。 その為、HostnameLookups が無効になっている状況でホスト情報を取得したい場合、gethostbyaddr 関数を利用るるのが良いと伺いました。 こちらを利用して以下のような接続元環境を調べたいのですが・・。 your HOST = your ADDR = 既存のCGI当で結構ですので教えて頂ければ幸いです。 宜しくお願い致します。

    • 締切済み
    • CGI
  • PerlでIPアドレスを取得する方法

    Perl5.6 or 5.8を使っております。 環境変数からIPの取得をするのは、CGIで動いている前提?ですが、 CGIでなくてperlスクリプトが単体で動作した場合に他の例えばサーバーのアドレスを知るにはどのようにしたらよいのでしょうか? 自アドレスはgethostbyaddrで取得できます。 REMOTE_ADDRの値を取得したいです。

    • ベストアンサー
    • Perl