人に聞けない痔の悩み、これでスッキリ >>

Webサイトのある特定のページのアクセス制限について、次の2点を両立させたいのです。

1.PCでのアクセスの場合は、別の特定のページからのリンクのみアクセスOK
2.携帯でのアクセスの場合は、無条件でアクセスOK

リファラーを利用して、.htaccessやcgiでアクセス制限すると、1は実現できても、携帯はリファラーを吐き出さないので、はじかれてしまい、2が実現できず、ジレンマに陥っています。

良い方法はないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

例えば、以下のような感じですね。


PCの部分をご自分の環境に合わせて修正して、ご希望の動作をするか確認してみてください。

○.htaccess例
-------8<-------8<-------8<-------8<-------8<-------8<-------
order deny,allow
deny from all

# PC
# 特定のrefererのみアクセス可
SetEnvIf referer "www.exsample.net/test/pc-ok.html" allow-access
allow from env=allow-access

#
# 携帯電話からのアクセスは許可
#

# DoCoMo (2003/12)
# http://www.nttdocomo.co.jp/p_s/imode/make/ip/
allow from 210.153.84.0/24
allow from 210.136.161.0/24
# DoCoMo(FOMA)
allow from 203.138.45.0/24


# vodafone (2003/12/12)
# http://www.dp.j-phone.com/dp/tech_svc/web/ip.php
allow from 210.134.83.32/27
allow from 210.146.7.192/26
allow from 210.146.60.128/25
allow from 210.151.9.160/27
allow from 210.169.193.192/26
allow from 210.228.189.0/24
allow from 211.8.49.160/27
allow from 211.8.159.128/25
allow from 211.127.183.0/24


# au/TU-KA (2004/12/01)
# http://www.au.kddi.com/ezfactory/tec/spec/ezsava …
allow from 210.169.40.0/24
allow from 210.196.3.192/26
allow from 210.196.5.192/26
allow from 210.230.128.0/24
allow from 210.230.141.192/26
allow from 210.234.105.32/29
allow from 210.234.108.64/26
allow from 210.251.1.192/26
allow from 210.251.2.0/27
allow from 211.5.1.0/24
allow from 211.5.2.128/25
allow from 211.5.7.0/24
allow from 218.222.1.0/24
allow from 61.117.0.0/24
allow from 61.117.1.0/24
allow from 61.117.2.0/26
allow from 61.202.3.0/24
allow from 219.108.158.0/26
allow from 219.125.148.0/24
allow from 222.5.63.0/24
allow from 222.7.56.0/24
-------8<-------8<-------8<-------8<-------8<-------8<-------
    • good
    • 0
この回答へのお礼

おかげさまでうまく行きました!
ありがとうございました。

お礼日時:2005/05/05 00:58

リファラーだけでなく、ブラウザの種類やアクセス元IPなども利用すれば良いのではないでしょうか?



携帯のブラウザやアクセス元IPなどをある程度判定できるはずなので、それらで携帯かどうかを判定して、そこで携帯と判断されなければリファラを利用してアクセス制限をするなど・・・

この回答への補足

早々にご回答ありがとうございます。
当方、アクセス制限について、それほど詳しくないため、具体的に説明していただけると、ありがたいのですが。
お願いします。

補足日時:2005/05/04 12:48
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q特定サイトからのアクセスのみ許可させる方法

BC5と申します。
現在クローズドのwebサイトを運営しています。
そのサイトは下記の要件を満たしています。
1.特定サイトからしかアクセスさせない
2.ユーザーにID,WDなどを入力させずに利用してもらう
そのため、現在はhttpヘッダを見てリファラーで弾かせています。
最近、パーソナルファイアーウオールを導入しているクライアントが多く、httpヘッダに参照元を付加しなくなったため、他の方法を検討しています。基本http認証で、リンク元のサイトにID,PWDを埋め込む方法を試しましたが、NetscapeではID,PWDを引き継いでくれず、弾かれてしまいます。
どなたか良い方法をご存知でしたら教えてください。
よろしくお願いいたします。

Aベストアンサー

クライアント側IPは不定で、リンク元が固定ということですよね?
であれば、IPアドレスでの制限は難しいですね。

簡易的な方法としては、そのサイトのURLを複雑なものとして、リンク元しか指定できないような感じにしてしまうとか。
#reffererよりも信用できるかもしれませんね。

検索エンジン対策になるかどうかは不明ですが、こういったツールもありますね。
「HTMLエンティティ生成」
http://ab.jpn.ph/soft/html_rand.html

あと、2サイト間でcookieを横断させてチェックする方法もありそうですが、
そこら辺はあまり詳しくないので専門家からの意見待ちということで...すみません。

Q特定のページからのみのアクセス

はじめまして、お世話になります。
現在PHPで制作を行っています。
早速質問したいのですが
例えば
ページ1(サーバーA)「idとpassword入力画面」
ページ2(サーバーB)「ここにあるid&passwordで認証しokならページ3に進む」
ページ3(サーバーA)「ログイン成功画面」

この状況において
ページ3の生のURLを直接打ち込んだでは閲覧できないようにして、ページ2経由でのみページ3を閲覧できるようにするにはどのようにすればよいでしょうか?

条件は
ページ1で入力したidの値をページ3まで渡すということです。

セッションやクッキーはだめでした。

現在、ページ3ではURLが
http://サーバーA/3.php?id=○○○○となっているため
○○○○の部分を変えれば他のidでログインできてしまいます。

$_GET['id']で一応、値は取れています。


初心者でどうすればいいのかさっぱりです。
どなたか教えていただけませんか?

Aベストアンサー

サーバBに認証用の隠しページ(のようなもの)を作ってはどうでしょうか。
フォーム入力->内部でサーバBに問い合わせ→ログイン成功
$result = file_get_contents('http://serverB/api_auth.php?id=a&pass=b');

あとはログイン済みの情報をクッキーなりセッションで保持して。
セキュリティが不安ならPOSTに変えたり、idとpassを暗号化して送るとか。

Q.htaccessで特定のページのみをアクセス制限する方法

.htaccessでのアクセス制限について質問です。
特定のページのみ(たとえばトップーページだけ)にアクセス制限をかけたいのですが
どのように記述すればいいでしょうか。

Aベストアンサー

http://okwave.jp/qa2861527.html

http://www.futomi.com/lecture/htaccess/files.html

この辺りでどうでしょうか?

Q特定サイトしか閲覧できないようにする方法は?

お世話になります。

子供にインターネットを使って講義を受ける「ネット予備校」(自宅型)に加入しています。

自宅のPCでいつでも予備校の講義のコンテンツにアクセスして受講できるものです。

双方向型ではなく、予備校が用意した映像授業をyou tubeを見るようにテキストに沿って学習する講座です

これには自宅型(=自宅のPCで学習)と通塾型(=予備校校舎内のPCルームで学習)があり、当方の子供は自宅型です。
自宅型と通塾型は同じコンテンツを閲覧でき、テキストも同じものです。

子供は部活で帰宅が遅くなるので、通塾させるよりも時間を有効に活用できる反面、ついインターネットで余計なサイトにアクセスしてしまいます。

これを防ぐためにインターネットの閲覧制限をかけてネット予備校だけしか閲覧できないようにしたいのですが、可能でしょうか?

ちなみに当方自宅のPCは下記のとおりです。
●WIN XP Pro SP3
●IE 8
●ノートン インターネットセキュリティ

自宅のPCは通常は私が仕事でも使用しているので普通の使い方もできて、子供が見るときには閲覧制限をかけて利用するようにできますでしょうか?

ちなみに通塾型の場合ですと予備校校舎内PCルームで利用するPCは閲覧制限がかかっていて、立ち上げるとネット予備校サイトにしかアクセスできないようになっているそうです。

素人ながらIEの設定かノートンの設定で何とかならないかと思うのですが、なにぶん知識がゼロなのでお手上げ状態です。

PCにまったく詳しくないのでどなたか教えていただけませんでしょうか?
よろしくお願いいたします。

お世話になります。

子供にインターネットを使って講義を受ける「ネット予備校」(自宅型)に加入しています。

自宅のPCでいつでも予備校の講義のコンテンツにアクセスして受講できるものです。

双方向型ではなく、予備校が用意した映像授業をyou tubeを見るようにテキストに沿って学習する講座です

これには自宅型(=自宅のPCで学習)と通塾型(=予備校校舎内のPCルームで学習)があり、当方の子供は自宅型です。
自宅型と通塾型は同じコンテンツを閲覧でき、テキストも同じものです。

子供は部活で帰宅が...続きを読む

Aベストアンサー

こちらのサイトが大変参考になります。
「コンテンツアドバイザー」というページに手順が詳しく書かれています。

http://support.microsoft.com/kb/879191/ja

当分は、学習塾のネット予備校のサイトと、Youtubeのサイトのみ閲覧できれば良いので
そのふたつのURLを「承認するサイト」に登録すれば、それ以外には閲覧できなくなります。

登録して「承認する」ボタンを押すと、承認したあなたが「スーパーバイザ」となります。
パスワードを設定するメニューがありますので、手順に従って設定してください。

パスワードは、最初の数ヶ月は間違えないよう、短くわかりやすいもので設定して構いません。
慣れてきたら、少しレベルを上げてみてください。

なお、お子様の学習レベルに応じて次第に外部の一般サイト(ニュースや検索)を使う機会が
増えてまいりますので、その場合は徐々に承認先のURLを増やしていってください。
効率よくパソコンを使うことも重要です。

やがてある程度お子様の人格を信頼して、アクセス先を自由にしていくことも重要に
なりますので、そのときには、ウイルスの感染や不正請求の被害を防ぐために
少なくとも信頼できるサイトだけにするようなソフトウエアを導入することを検討してください。

こちらのサイトが大変参考になります。
「コンテンツアドバイザー」というページに手順が詳しく書かれています。

http://support.microsoft.com/kb/879191/ja

当分は、学習塾のネット予備校のサイトと、Youtubeのサイトのみ閲覧できれば良いので
そのふたつのURLを「承認するサイト」に登録すれば、それ以外には閲覧できなくなります。

登録して「承認する」ボタンを押すと、承認したあなたが「スーパーバイザ」となります。
パスワードを設定するメニューがありますので、手順に従って設定してください。

パ...続きを読む

Q指定サイトからのアクセスのみ許可したいです。

指定サイトからのアクセスのみ許可したいです。

仕様としてあるサイトからのみアクセスを許可させたく、
リファラで対応しようと思っていたのですが、携帯だとリファラが取れない
機種などがあるようで大変困っています。

やりたい事としては本サイトのURLが分かっていても、
指定されたサイトから来てない場合は、
観覧拒否を行いたいので特にリファラを使わなくてもできる方法があれば
教えていただきたいです。

環境
PHP 5.1
CentOS 5.0

よろしくお願いいたします。

Aベストアンサー

#2です。
リンク元ページからのリンクはボタンでもいいんですかね?
ボタンでよければ、POSTにしてアクセス方法がPOSTかGETかの判断を追加することで、#2の方法でブックマーク対策はできます。
ブックマークからのアクセスはGETしかできない。

と、書いているうちに#2の方法(というよりも携帯ではすべて)の欠点がもう一つ。
リンク元ページに書かれたリンクと同じものを勝手にどこかのページに作成された場合、正規のページから来たものか、不正なページから来たものか判断できない。
これはPOSTにしても対処できない。

Refererを監視して、Refererを吐く機種からアクセスされた場合にのみ、不正なページを発見できる、と対処する事は可能ですが。
発見出来たら、そのサーバ運営者に削除依頼してもイタチゴッコでしょうから、訴訟する等の抑止力を期待するなどになりますが。

Q別PHPファイルに変数を渡す

 PHP初心者です。宜しくお願いいたします。

 下記はcheck1.phpです。途中で $check2=1の場合は分岐でcheck2.phpにジャンプさせたいのですが、ジャンプした後は変数がすべて消えてしまうようです。check1.phpで得た変数を、そのままcheck2.phpで利用したい場合はどうすればいいのでしょうか?

--------------------------------------------------

if ($_POST['write']) {

$tuki= get_form($_POST["tuki"]);
$ome = get_form($_POST["ome"]);
$check1 = get_form($_POST["check1"]);
$check2 = get_form($_POST["check2"]);}

if ($check2==1)
{$url="http://localhost/check2.php"; readfile($url);}
else{・・・・・・・・
--------------------------------------------------

 PHP初心者です。宜しくお願いいたします。

 下記はcheck1.phpです。途中で $check2=1の場合は分岐でcheck2.phpにジャンプさせたいのですが、ジャンプした後は変数がすべて消えてしまうようです。check1.phpで得た変数を、そのままcheck2.phpで利用したい場合はどうすればいいのでしょうか?

--------------------------------------------------

if ($_POST['write']) {

$tuki= get_form($_POST["tuki"]);
$ome = get_form($_POST["ome"]);
$check1 = get_form($_POST["check1"]);
$check2 = ge...続きを読む

Aベストアンサー

includeかrequireでどうでしょうか
f ($check2==1) {
include("check2.php");
exit;
}
else{・・・・・・・・


人気Q&Aランキング