-PR-
締切り
済み

i-mode&J-phoneからのみのアクセス限定

  • 暇なときにでも
  • 質問No.39884
  • 閲覧数68
  • ありがとう数11
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 60% (3/5)

はじめまして。初めて質問させて頂きます。

Perlで作成されたCGIスクリプト内で、i-modeとJ-phone端末からでしかアクセスできないようにする事ってどのようにスクリプトを組めばよいのでしょうか。
PCからアクセスすると、携帯からのアクセスして下さいといったエラー画面が出るようにしたいのですが。

よろしくお願い致します。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全5件)

  • 回答No.1
レベル14

ベストアンサー率 22% (541/2399)

サーバ側で端末の環境変数を取得してその中のユーザエージェントで i-MODEやJ-SKYは判断できると思います。 HTTP_USER_AGENT に文字列で入りますのでそれで判断。 それ以外でのアクセスの場合に条件分岐させてエラー画面を出せばOK。 ...続きを読む
サーバ側で端末の環境変数を取得してその中のユーザエージェントで
i-MODEやJ-SKYは判断できると思います。

HTTP_USER_AGENT

に文字列で入りますのでそれで判断。
それ以外でのアクセスの場合に条件分岐させてエラー画面を出せばOK。
お礼コメント
sifon

お礼率 60% (3/5)

ご返事遅れましてすいません。

アドバイスありがとうございます!

HTTP_USER_AGENTですね。了解しました(^^ゞ
まだ私自身、CGI(perl)に関しては、他の方のスクリプトの改造程度しかできませんで、、知識がまったく足りないのです(^^;;

ありがとうございました。
投稿日時 - 2001-02-14 22:35:45


  • 回答No.2
レベル13

ベストアンサー率 26% (511/1924)

どの携帯がどんなエージェント返すかわからない場合は、とりあえず Mozilla ってのをはじけばOKでしょう。 これでNetscapeとなぜかIE(笑)もはじけます。つまりほぼ90%近くのPCブラウザをはじける事になります。 i-modeの場合はDoCoMoってキーワードを探せば良いと思うんですが、他は判りません。 とりあえず暫くログを取ってみて、どんなユーザエージェントが来るか傾向と対策を練っ ...続きを読む
どの携帯がどんなエージェント返すかわからない場合は、とりあえず Mozilla ってのをはじけばOKでしょう。
これでNetscapeとなぜかIE(笑)もはじけます。つまりほぼ90%近くのPCブラウザをはじける事になります。

i-modeの場合はDoCoMoってキーワードを探せば良いと思うんですが、他は判りません。
とりあえず暫くログを取ってみて、どんなユーザエージェントが来るか傾向と対策を練ってみるのはいかがでしょう?

あとは「HTTP_USER_AGENT」で検索すれば、色々情報が出てくるでしょうね。
お礼コメント
sifon

お礼率 60% (3/5)

アドバイスありがとうございます!

そうですね!
Mozillaではじいてもいいですね。
参考になります。

あと、「HTTP_USER_AGENT」で検索も早速やってみます。

ありがとうございました。
投稿日時 - 2001-02-14 22:44:06
  • 回答No.3
レベル8

ベストアンサー率 50% (22/44)

他の方が、書かれているとおり、アクセスがあったときに 環境変数 HTTP_USER_AGENT をチェックすれば いいと思います. HTTP_USER_AGENT の中身は + i-mode の場合 DoCoMo/1.0/P209i/c10 DoCoMo/HTTP Ver./機種名/キャッシュ + J-Sky の場合 J-PHONE/2.0/J-SH03 J-PHONE/ブラ ...続きを読む
他の方が、書かれているとおり、アクセスがあったときに
環境変数 HTTP_USER_AGENT をチェックすれば
いいと思います.

HTTP_USER_AGENT の中身は

+ i-mode の場合
DoCoMo/1.0/P209i/c10
DoCoMo/HTTP Ver./機種名/キャッシュ

+ J-Sky の場合
J-PHONE/2.0/J-SH03
J-PHONE/ブラウザ Ver./機種名

というような値が入っています.(多分)

以下、自信がない判定ルーチン.(_o_)

-->-->
# HTTP_USER_AGENT の取得
$AGENT=$ENV{'HTTP_USER_AGENT'};
if ($AGENT =~ /^DoCoMo/ || $AGENT=~ /^J-PHONE/)
{
# OK
# DoCoMo 用メッセージ
# J-PHONE 用メッセージ
}
else
{
# NG
# 「携帯からアクセスしてね.」
}
<--<--

もっと厳密(?)にアクセス制限をするのであれば
IP アドレスから判断する方法もありますね.
お礼コメント
sifon

お礼率 60% (3/5)

アドバイスありがとうございます!

おおぉ~、ルーチンまでご丁寧に書いて下さいまして本当に感謝です!

とても分かりやすい回答に大変満足しております。
ありがとうございました。
投稿日時 - 2001-02-14 22:52:03
  • 回答No.4
レベル10

ベストアンサー率 38% (48/124)

回答ではありませんがどうかご覧下さい。 アクセスの判別については下の方の通りで問題ないと思います。 (私も自分のサイトで同じ判別を行っています。) しかし、できればauのEZwebも入れるようにしていただけませんか?(^^; EZwebではHDMLしかブラウズしないように思われていますが、 i-mode対応のサイトのCHTML程度であれば サーバのトランスレーター機能により(ある程度) ...続きを読む
回答ではありませんがどうかご覧下さい。

アクセスの判別については下の方の通りで問題ないと思います。
(私も自分のサイトで同じ判別を行っています。)

しかし、できればauのEZwebも入れるようにしていただけませんか?(^^;
EZwebではHDMLしかブラウズしないように思われていますが、
i-mode対応のサイトのCHTML程度であれば
サーバのトランスレーター機能により(ある程度)表示可能です。

以下、参考までに判別ルーチンです。

($mob{car},$mob{ver},$mob{mod}) = split(/\//,$ENV{'HTTP_USER_AGENT'});
if ($mob{car} eq 'J-PHONE') {
# J-phon eの処理
} elsif ($mob{car} eq 'DoCoMo') {
# DoCoMo の処理
} elsif ($mob{car} eq 'UP.Browser') {
# EZ-web の処理
} elsif ($mob{car} eq 'ASTEL') {
# ASTEL(.i) の処理
}
  • 回答No.5
レベル9

ベストアンサー率 37% (22/58)

携帯電話からのアクセスは ezweb.ne.jp ido.ne.jp docomo.ne.jp jp-t.ne.jp jp-c.ne.jp jp-q.ne.jp がほとんど(というかほぼすべて)なので これ以外のサーバからのアクセスは拒否すれば携帯専用になります。 補足説明ですが、各携帯電話用にホームページを振り分けてくれるサービスがあります。 面倒なら使用してみてはどうでしょうか。 ...続きを読む
携帯電話からのアクセスは
ezweb.ne.jp
ido.ne.jp
docomo.ne.jp
jp-t.ne.jp
jp-c.ne.jp
jp-q.ne.jp
がほとんど(というかほぼすべて)なので
これ以外のサーバからのアクセスは拒否すれば携帯専用になります。
補足説明ですが、各携帯電話用にホームページを振り分けてくれるサービスがあります。
面倒なら使用してみてはどうでしょうか。

by odring lab
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ