DOCOMOからのアクセスにREFERERをチェックするには?

[上に] [前に] [次に]
もこど 2000/01/18(火) 19:30:48
掲示板で、アクセス時にREFERERをチェックして、
設定したURL以外からのアクセスは、フェイクページに飛ばすようにしたいのですが、
私の調べた範囲では、DOCOMOはREFERERを送らないようです。
そのため、正常なアクセスでもフェイクページに飛ばされてしまいます。
このようなOSの場合は、仕方ないんでしょうか?

無理でしたら、ファイクページに飛ばすのではなくて、
エラーメッセージがでるのでもいいです。

よろしくお願いします。

andi 2000/01/18(火) 19:45:49
HTTP_USER_AGENTを調べてDoCoMoが含まれる場合は
除外すれば良いのではないでしょうか。

リボンの騎士 2000/01/18(火) 20:10:21
あくまで個人の意見です。
閉じた世界ならかまいませんが、不特定多数の人の訪問を想定している場合、REFERERチェックという方法そのものに賛成しかねます。
REFERERを返す/返さないはユーザの自由裁量ですから。

もこど 2000/01/18(火) 22:44:30
andiさんのアイデアで書き換えてみます。
どうもありがとうございました。

>リボンの騎士さんへ
私のサイトは閉じた世界ではありませんが、荒らされる可能性のある内容なので、
できる限り対処しておきたいのです。

Syn [E-Mail] 2000/01/19(水) 12:14:17
User-Agent は i モードのバージョンアップ等で変わる可能性が
ありますから、 REMOTE_HOST に docomo.ne.jp が含まれるか
どうかを調べたほうがいいかもしれません。

もこど 2000/01/19(水) 22:52:36
andiさんのアイデアで書き換えてみると、一応動作しました。

$referer = "$ENV{'HTTP_REFERER'}";
$home='自分のユーザーディレクトリ';
$fake='フェイクページ';

この間いろいろ・・・

if ($referer !~ /$home/ && $ENV{'HTTP_USER_AGENT'} !~ /DoCoMo/){
print "Location: $fake\n\n";
exit;
}

以上のようになりました。andiさん、これでいいのでしょうか?
Synさん、バージョンアップですが、現在はDoCoMo/1.0/P501iしか見かけたことありません。
パターンマッチングだと、大丈夫だと思いますが?
他の機種のi-modeや502のバージョンはどうなんでしょうね?

missAki [E-Mail] 2000/01/20(木) 12:07:24
DoCoMoのUser-Agentは、
DoCoMo/ HTTPのバージョン/機種名/キャッシュ
となっているそうです。機種によってはキャッシュが
表示されないものもあるらしいですが。

無責任官庁 2000/01/20(木) 13:32:30
DoCoMoのサイトに詳しく載ってます。

「考え方」
http://www.nttdocomo.co.jp/mc-user/i/tag/imodetag.html
「ユーザーエージェント」
http://www.nttdocomo.co.jp/mc-user/i/tag/s2.html

もこど 2000/01/21(金) 07:09:55
[[解決]]
どうもありがとうございました。
よくわかるサイトでした。
502とosのバージョンはかわってないんですね。
でも、キャッシュを調整できるのが便利そうです。
もう少し待てば、502が他のメーカーからも出るんでしょうね。
また、買い換えます。

どうもお世話になりました。

[上に] [前に] [次に]