スレッド表示 | フラット表示〕 全トピック 920 件中 894 番目 次≫ ≪前

proxyの検出方法

created: 2003-03-08 02:43 | modified: 2003-03-10 23:39 | reply: 6

[179] proxyの検出方法

user: ごいんきょ。 ホームページ | created: 2003-03-08 02:43
proxyからの接続を検出するには、どうすればいいんでしょうね

gethostbyaddr($_SERVER["REMOTE_ADDR"])で取得した文字列に、"proxy"が含まれてればproxyだ、っていう方法で良いのかなぁ
なんか、違う気がするんですよね

どう思います?
もしくは、どうすれば良いのかわかります?
reply: 180 返信 編集 削除

[180] あまり研究したことがないけど

user: yagi ホームページ | created: 2003-03-08 12:33
プロクシについてはあまり研究したことがないけど、'cache'や'proxy'にマッチしたら拒否するというのが一般的じゃないでしょうか。あるいは、プロクシ接続の時に値を保持する環境変数の真偽を判別して拒否するというのはどうでしょうか。

僕からも質問ですが、リファラーをJavaScriptやSSIを使わずにある程度しっかり取得する方法ってないでしょうか。
Parent: 179  reply: 181 返信 編集 削除

[181] cache

user: ごいんきょ。 ホームページ | created: 2003-03-08 15:23
cacheってのも、チェックしなきゃならないんですか
聞いてみて良かった、ありがとうございます

重ねて質問なんですが、proxy経由の場合に発生する環境変数は、PHPからも取りだせるんでしょうか
proxyで接続する環境がないんで、自分で試せないんですよ・・・(^^;

リファラーは$_SERVER["HTTP_REFERER"](スーパーグローバル変数の場合)で取りだせますよ
Parent: 180  reply: 182 返信 編集 削除

[182] リファラーについて

user: yagi ホームページ | created: 2003-03-08 15:56
確かに$_ENV['HTTP_REFERER']でリファラーを取得できますけど、これはリンカをたどって生きた場合のみですよね。JavaScriptのように例えリンカをたどらない場合でも取得する方法ってないのでしょうか。

ちなみにプロクシ接続で値を保持する環境変数には次のような者がありますよ。

$_ENV['HTTP_HOST']
$_ENV['HTTP_VIA']
$_ENV['HTTP_FORWARDED']
$_ENV['HTTP_X_FORWARDED_FOR']
$_ENV['HTTP_CACHE_INFO']
$_ENV['HTTP_XONNECTION']
$_ENV['HTTP_SP_HOST']
$_ENV['HTTP_FROM']
$_ENV['HTTP_X_LOCKING']
$_ENV['HTTP_PROXY_CONNECTION']

これらの値はプロクシ接続ですべてが格納されるかどうかはわかりませんが、これらのうち1つでも真になればプロクシ接続であるとみなして接続をはじくことはできるのではないでしょうか。
Parent: 181  reply: 183 返信 編集 削除

[183] HTTP_...

user: ごいんきょ。 ホームページ | created: 2003-03-09 02:28
とりあえず、うちのサーバでproxy接続してみたところ、突然HTTP_PROXY_CONNECTIONがあらわれました
普通に接続してると、普段は定義されないんですね、納得
参考になりました、ドウモです^^

>JavaScriptのように例えリンカをたどらない場合でも取得する方法

これってつまり、ハイパーリンクで来た場合だけでなく、アドレス欄に直接入力したりした場合でもってことですか?

JSのdocument.referrer(IE)ではそういうことはできないから、、ってことは、historyみたいにブラウザ履歴を参照したいってこと、でいいんでしょうか?

もしそういうことなら、クライアントサイドスクリプトじゃないと、ムリなんじゃないですかね??たぶん

なんか、そういう意味じゃない気がするけど、とりあえず、考えてみました
Parent: 182  reply: 184 返信 編集 削除

[184] そうですね

user: yagi ホームページ | created: 2003-03-09 12:23
そのとおりですね。
クライアントサイドじゃないと駄目ですよね。
JavaScriptだとこれをOFFにしていると取得できないので他に方法がないものかと聞いてみました。
Parent: 183  reply: 186 返信 編集 削除

[186] お役に立てませんでした

user: ごいんきょ。 ホームページ | created: 2003-03-10 23:39
質問の解釈は正しかったようで、ほっとしてますが、けっきょくお役には立てませんでしたね^^ヾゴメンナサイ
何か良い案を持ってる人を、いっしょに気長に待ちましょう^^
Parent: 184  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 894 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑