接続元の環境を調べるCGIを求めています。
現在利用中のものが、REMOTE_HOST を利用してホスト情報を取得するように設定されているのですが、REMOTE_HOST を利用したい場合は、apache 側にて HostnameLookups を On にしておく必要があるとの事です。
しかしながら、現在利用中のサーバでは HostnameLookups は Off となっておりました。
HostnameLookups を On にすると、アクセスがある度に名前解決を行い、ホスト情報を取得しようとするため、サーバに負荷がかかってしまいますので、あまりお勧めできませんとの事でした。
その為、HostnameLookups が無効になっている状況でホスト情報を取得したい場合、gethostbyaddr 関数を利用るるのが良いと伺いました。
こちらを利用して以下のような接続元環境を調べたいのですが・・。
your HOST =
your ADDR =
既存のCGI当で結構ですので教えて頂ければ幸いです。
宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> gethostbyaddrで調べられるクライアント専用ですが
というのは、「クライアントPCのIPアドレスとホスト名が DNS に登録
されている場合やhostsファイルに登録されている場合など」という意味で
す。常に、IPアドレスからホスト名が解決できるわけではありません。
DNSに登録されていない場合では、getnameinfo や Net::DNS でもホスト名
は引けません。
> お薦めはありますでしょうか?
通常の使用でしたら、gethostbyaddr でよいと思います。
No.1
- 回答日時:
gethostbyaddrで調べられるクライアント専用ですが
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI::Pretty;
use Socket;
my $q = CGI->new();
my $addr = pack( "C4", split( /\./, $q->remote_addr ) );
my $host = gethostbyaddr( $addr, AF_INET ) || die "$!";
print $q->header("text/plain"),
"Your Address = ", $q->remote_addr, "\n",
"Your Host = $host\n";
この回答への補足
問題なく動作いたしました。
ありがとございます。
> gethostbyaddrで調べられるクライアント専用ですが
と、頂きましたので少し調べてみました。
今後IPv6でも対応したい場合、getnameinfoの利用がお勧めのようでした。またPerlモジュールには、Net::DNSもあるようです。
お薦めはありますでしょうか?
また、getnameinfoを利用したバージョンもお知らせ頂けたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- Wi-Fi・無線LAN インターネット接続 ブリッジ? 2 2022/10/16 00:33
- ネットワーク クラウド環境の範囲について教えてください。 7 2023/03/09 15:50
- Windows 10 インストールしたてのVirtualBoxの仮想マシンにDHCPで割り振られるIPアドレスにつきまして 1 2023/05/03 14:46
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Illustrator(イラストレーター) イラストレーターが買えない 1 2022/08/25 13:23
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- 大学受験 大学受験に関することです 小論文の添削をお願いしたいです。 テーマは、人 口 減 社 会 を 迎 え 3 2022/06/29 16:58
- 大学受験 大学受験に関することです 小論文の添削をお願いしたいです。 テーマは、人 口 減 社 会 を 迎 え 1 2022/06/29 15:04
- Wi-Fi・無線LAN 現在、当方Wi-Fi環境でルーターはNTTのPR500MIを無線LANカードで使用しています。離れた 5 2023/05/08 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クライアントのIPとマシン名を...
-
社外からのアクセスかどうか判...
-
HttpClientを利用してのサービ...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
週2回のペースって だいたい何...
-
6月の第2 第4火曜日は何日...
-
指定曜日にMsgBox表示は可能で...
-
for a week tomorrowはどういう...
-
apacheでPerl CGIが作動せず、5...
-
エクセルで相対パスの書き方を...
-
DBを10件毎に表示ページング...
-
[C#]ListView一覧表示時の幅設...
-
エクセルで毎月第2週日の水曜日...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
IPアドレスの確認方法
-
VBA。複数のChangeイベントをま...
-
アンケートなどの1日1回の投...
-
perl5について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クライアントのIPとマシン名を...
-
HttpClientを利用してのサービ...
-
プロキシサーバ経由を拒否したい
-
webサーバでクライアントを特定...
-
URLConnection Timeoutエラー
-
社外からのアクセスかどうか判...
-
ネットワーク上のサーバーの空...
-
IPとホスト名の変換について
-
リファラーの取得方法
-
perlの環境変数 ENV{'REMOTE_A...
-
グローバルIPアドレスの取得。
-
AMAZON APIに接続するプログラ...
-
strutsでのgetInputStream
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
毎○曜日って、使いますか?
-
燃えるゴミの日は何曜日ですか?
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
おすすめ情報