• ベストアンサー

$ENV{'REMOTE_HOST'}について

CGIにて$ENV{'REMOTE_HOST'}を取得したところ スパム投稿なのですが、$ENV{'REMOTE_HOST'}が IPアドレスの値である142.54.182.186が入っていました。 普通はkd182249232116.au-net.ne.jp などという形になると思うのですが 142.54.182.186 となっていることが通常ありえるのでしょうか? リモートホストを取得し、IPアドレスの形式であった場合、 この投稿者を弾いてしまっても問題ありませんか?

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

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

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

IPアドレスが入っているか、ホスト名が得られるかは、Apacheの設定によります。 ホスト名を得る設定になっていてもDNSの逆引きがその時たまたま失敗すると、IPアドレスのまま設定されます。 なので、「ホスト名が入っていたら儲けもの」くらいの感覚で扱うのがよいかと。

masa-25
質問者

お礼

そういうものなのですね。 どうしてなんだろう?という思いがすごく強かったんです。

関連する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
  • 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
  • REMOTE_HOST

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

  • perlの環境変数 ENV{'REMOTE_ADDR'}  について

    ショッピングカートのCGIにおいて ENV{'REMOTE_ADDR'} IPアドレスを取得すると思うのですが・・・。 何が原因なのかわかりませんが、違うIPアドレスのユーザー同士が、同じIPアドレスを取得したことになり、ショッピングカートの中が重複してしまいます 具体的に、お買物途中で注文したものを削除しないで注文をやめたお客様と同じIPアドレスのもつ他のお客様が買い物かごボタンを押すことにより、 後者のお客様が、ボタンを押していない商品もショッピングカートに入ってしまい・・・。 クレームが入ってしまいます 私ですが、perlに関して素人です。ですが、フリーのCGIを少し加工して使っております。 そこで、質問なのですが、ウイルスバスター等のセキュリティーソフトをインストールしていると、アクセス時に偽装のIPアドレスをログに残す可能性などあるのでしょうか? 勝手な解釈なのですが・・・。 それ以外に、IPアドレスが重複してしまう可能性が自分の知識の範囲内では、思いつきません。 素人的な考えかもしれませんが、ご教授お願い致します

    • ベストアンサー
    • Perl
  • NiftyのおまけスペースでPerlアクセスログ

    を作ったのですが $ENV{"REMOTE_HOST"} で表示させてもIPアドレスでホスト名を得られません Niftyに聞くと特にホスト名を出さないようにはしてないと言うことです Niftyのおまけスペースで訪問者ホスト名を取得できるのでしょうか?

    • ベストアンサー
    • CGI
  • 送信者のIPを取得するには

    現在メールフォームを作っています。 送信者の情報を取得する作りにはしていません。 迷惑メールが届き出してからでは遅いので、 ホスト名やIPアドレスを取得するフォームにしたいのですが、 <INPUT TYPE="hidden" NAME="env_report" VALUE="取得したい情報の属性"> という記述をCGIファイルに書けばいいのでしょうか。 また、下記の記述をどこに書くのかも分かっていません。 REMOTE_HOST 送信者(入力者)のホスト名 REMOTE_ADDR 送信者(入力者)のIPアドレス どなたかご教授をお願いします。

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

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

  • HOSTが表示されない。

    お世話になります。 早速ですが、サイトで調べ、 以下のコーディングでipアドレスと、ホスト名?を表示したいのですが、 perlのシミュレーションで実行すると表示されるのですが、 私が借用しているサイト(infoseek)ではipアドレスしか表示されません。 (ipアドレスを、直接$addrにセットしても同じ結果です。) サイトにより、制限等が掛けられているのでしょうか。 コーディングの誤りであれば指摘していただきたくお願いします。 $addr = $ENV{'REMOTE_ADDR'}; $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2); print "$host\n"; print "<br>\n"; print "$addr\n"; 以上、宜しくお願いします。

    • ベストアンサー
    • Perl
  • IP/ホスト連続投稿チェック機能が上手く行かない。

    なんでだろ?? ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ## SUB >>> ホスト取得処理 ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sub get_HostAgent { $Host = $ENV{'REMOTE_HOST'}; $Addr = $ENV{'REMOTE_ADDR'}; if ($Host eq '') { $Host = $Addr; } if ($Host eq $Addr) { $Host = gethostbyaddr(pack('C4',split(/\./,$Host)),2) || $Addr; } $H_A = "$Host"; } ホスト取得ルーチンにある変数で、 いろんな掲示板の中のP/ホスト連続投稿チェック機能だけ抜き出して、 もう何十個も試したけれど、上手くいきません。 カスタマイズしてる会員掲示板に、 IP/ホスト連続投稿チェック機能を付けたいのですが上手くいきません。 二重投稿チェックはあるのですが、、 ↓↓↓ #--二重投稿チェック--# if ($r1 eq "$name" && $r4 eq "$street<>$title" && $r5 eq "$comment") { &lock2; &error("二重投稿は禁止です"); } より極めるために、以下を利用したいのです。。 ↓↓↓ #--IP/ホスト連続投稿チェック--# if ($Addr = $ENV{'REMOTE_ADDR'} && $^T - $time < 120) { &lock2; &error("連続投稿はできません。<BR>時間をおいてから書き込みして下さい");} 宜しくお願い致します。 どこがおかしいのかサッパリです。 なんとか機能を追加できるようにお願いしますろ

    • 締切済み
    • CGI
  • ページのアドレスを取得する記述方法を教えてください。

    たとえば、IP、HOSTを取得するには、 $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; if(!$host && $addr){ $host = (gethostbyaddr(pack("C4",split(/\./,$addr)),2))[0]; } と記述して、 センドメール部分に、 $host , $addrをどこかに記述します。 これと同じように、ページのアドレスを取得する記述はどうすればいいのか教えてください。

    • 締切済み
    • CGI