人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

掲示板のCGIに、ocnなどの通常のプロバイダのホストのみ閲覧可能で、ホストを取得できない210.50.50.210のようなプロキシを使った場合(プロバイダがわからない)は見ることができない、という風にすることができるプログラムはわかりませんか?通常のアクセス規制などと違い、ホストを取得できない場合閲覧不可とするものです。ご存知の方がいらっしゃいましたらお願いします。

●質問者: crazymaster
●カテゴリ:ウェブ制作
✍キーワード:CGI OCN アクセス プロキシ プログラム
○ 状態 :キャンセル
└ 回答数 : 4/4件

▽最新の回答へ

1 ● らんさいわ

http://allabout.co.jp/computer/cgiperl/closeup/CU20020807A/index...

gethostbyaddr関数を用いて、IPからHOST名を引き出して用いれば可能だと思います。

参考URLの『ホスト名取得処理』の部分をみて頂ければ使い方はわかるかと思います。

gethostbyaddr関数でIPからHOST名を取得してきて、引数がNULLかどうかで判別すれば出来ると思いますよ。


2 ● pahoo

http://www.bayashi.net/st/dofm/

技林/アクセス解析CGI

ここのCGIソースが役に立つのではないでしょうか。


3 ● watal

実際に動かしていないのでちゃんと動くか不安ですが、

こんな感じで如何でしょう。gethostbyaddrだけじゃなくて、

プロキシ経由の場合の環境変数からも引いています。

-------------ここから-----------------

use CGI;

$clienthostaddr = $ENV{’REMOTE_clienthostaddr’};

if ($ENV{’REMOTE_ADDR’} =~ s/(¥d+)¥.(¥d+)¥.(¥d+)¥.(¥d+)/$1.$2.$3.$4/) {

$clienthostaddr = $ENV{’REMOTE_ADDR’};

}

if ($ENV{’HTTP_VIA’} =~ s/.*¥s(¥d+)¥.(¥d+)¥.(¥d+)¥.(¥d+)/$1.$2.$3.$4/) {

$clienthostaddr = $ENV{’HTTP_VIA’};

}

if ($ENV{’HTTP_X_FORWARDED_FOR’} =~ s/^(¥d+)¥.(¥d+)¥.(¥d+)¥.(¥d+)(¥D*).*/$1.$2.$3.$4/) {

$clienthostaddr = $ENV{’HTTP_X_FORWARDED_FOR’};

}

if ($ENV{’HTTP_FORWARDED’} =~ s/.*¥s(¥d+)¥.(¥d+)¥.(¥d+)¥.(¥d+)/$1.$2.$3.$4/)

{

$clienthostaddr = $ENV{’HTTP_FORWARDED’};

}

$clienthostaddr = gethostbyaddr(pack(’c4’,split(/¥./, $clienthostaddr)), 2) || $clienthostaddr;

if ($clienthostaddr =~ /¥d+¥.¥d+¥.¥d+¥.¥d+/){

&error(”ホスト名が分からないIPアドレスからはアクセスできません。”);

exit;

}

#以下HTTPヘッダーを含むCGIコンテンツ表示

-------------ここまで-----------------


4 ● kotona

http://www2s.biglobe.ne.jp/~cru/library/java/watasi.html

SOKET WATASI

下の2ページは訪問した人の生IPを抜くスクリプトのヒントがかかれています。Proxyを使っていてもこのスクリプトは通常Proxyが通らないソケットから生IPを抜くものなので、参考にしてみては如何でしょうか?

http://www2s.biglobe.ne.jp/~cru/library/java/watasi2.html

SOKET WATASI

◎質問者からの返答

すいません、全体的にアクセス規制と違い、プロキシ経由では閲覧不可にする、というプログラムがなかったため、申しわけありませんが質問をキャンセルさせていただきます。

申し訳ありません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ