携帯専用サイトのソースを覗かれなくする方法を教えてください。

私が今まで使用していたのは下記

<body>
<script language="javascript">
<!--
document.write("携帯からアクセスしてください。");
//-->
</script>
<noscript>
携帯表示文
</noscript>
</body>

上記なのですが、これではソース表示の専用ツールを使用しUserAgentをドコモやauに変換した場合、ソースが表示されてしまいます。
専用ツールを使用しても絶対にソースを覗かれなくする方法を教えてください。
よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/06/06 01:33:54
  • 終了:2007/06/12 14:23:26

ベストアンサー

id:unsteady No.1

unsteady回答回数10ベストアンサー獲得回数12007/06/06 07:10:37

ポイント40pt

まず、最初に申し上げますと<script>タグ、<noscript>タグでの表示は、

あくまでブラウザの見た目の表示上のものであり、専用のソフトを一切使っていなくても

<noscript>部分を含めたすべてがPC上にデータとして送られます。

具体的に何を使って実現したいのかがわかりませんのでJavaScriptを使ってと仮定しますと、

JavaScriptを使って携帯電話用ページのソースをのぞかれないようにすることは不可能です。 

 

.htaccessやCGI、PHPなどが利用可能なのであればそれらを使って携帯電話会社のIPアドレスからのみアクセスできるようにするのがベストかと思われます。

 

●.htaccessを使った例

.htaccessについての解説は下記URLをご覧ください。

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/access.html... (IPアドレスでのアクセス許可について)

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/ (.htaccess全般)

http://www.shtml.jp/htaccess/ (.htaccess全般)

order deny,allow

deny from all

#Docomo

allow from 210.153.84.0/24

allow from 210.136.161.0/24

allow from 210.153.86.0/24

allow from 210.153.87.0/24

#Vodafone

allow from 202.179.204.0/24

allow from 202.253.96.248/29

allow from 210.146.7.192/26

allow from 210.146.60.192/26

allow from 210.151.9.128/26

allow from 210.169.130.112/29

allow from 210.169.130.120/29

allow from 210.169.176.0/24

allow from 210.175.1.128/25

allow from 210.228.189.0/24

allow from 211.8.159.128/25

#au(cdmaOne)とTu-ka

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 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 219.108.158.0/26

allow from 59.135.38.128/25

allow from 219.108.157.0/25

#au(WIN)

allow from 219.125.148.0/24

allow from 222.5.62.0/23

allow from 222.7.56.0/23

#au(BREW)

allow from 219.125.162.0/23

allow from 219.125.164.0/22

allow from 222.3.144.0/21

allow from 222.15.70.0/23

allow from 222.15.72.0/21

allow from 59.128.128.0/20

allow from 59.135.48.0/20

allow from 59.137.0.0/20

allow from 59.137.16.0/20

 

CGI、PHPなども同様にIPアドレスで振り分ければ大丈夫です。

IPアドレスについてはウィキペディアを参考にしました。PHS(Willcom)は上記の例だとアクセスできません。

http://ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Tietew/...

 

.htaccessはサーバーによっては使えないこともありますのでご注意ください。

id:happy778

回答ありがとうございます。

とても参考になりました。

無事、IP制限が完了出来ました。

.htaccessに

order deny,allow

deny from all

#Docomo

#Vodafone

#au(cdmaOne)とTu-ka

上記を書き込み、その下にエラーページ設定のため下記

ErrorDocument 401 http://

ErrorDocument 403 http://

ErrorDocument 404 http://

ErrorDocument 500 http://

上記を書き込みました。

その結果ページが重くなり開くことが出来なくなってしまいました。

片方(IP制限かエラーページ)を削除するとスムーズに開くことが出来ます。

どうすれば両方置いてもスムーズにHPを開くことが出来るようになるのでしょうか?

ご存知でしたら教えて頂けるととても幸いです。

2回答分のポイントを送付させて頂きます。

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

2007/06/09 00:49:26

その他の回答(4件)

id:unsteady No.1

unsteady回答回数10ベストアンサー獲得回数12007/06/06 07:10:37ここでベストアンサー

ポイント40pt

まず、最初に申し上げますと<script>タグ、<noscript>タグでの表示は、

あくまでブラウザの見た目の表示上のものであり、専用のソフトを一切使っていなくても

<noscript>部分を含めたすべてがPC上にデータとして送られます。

具体的に何を使って実現したいのかがわかりませんのでJavaScriptを使ってと仮定しますと、

JavaScriptを使って携帯電話用ページのソースをのぞかれないようにすることは不可能です。 

 

.htaccessやCGI、PHPなどが利用可能なのであればそれらを使って携帯電話会社のIPアドレスからのみアクセスできるようにするのがベストかと思われます。

 

●.htaccessを使った例

.htaccessについての解説は下記URLをご覧ください。

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/access.html... (IPアドレスでのアクセス許可について)

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/ (.htaccess全般)

http://www.shtml.jp/htaccess/ (.htaccess全般)

order deny,allow

deny from all

#Docomo

allow from 210.153.84.0/24

allow from 210.136.161.0/24

allow from 210.153.86.0/24

allow from 210.153.87.0/24

#Vodafone

allow from 202.179.204.0/24

allow from 202.253.96.248/29

allow from 210.146.7.192/26

allow from 210.146.60.192/26

allow from 210.151.9.128/26

allow from 210.169.130.112/29

allow from 210.169.130.120/29

allow from 210.169.176.0/24

allow from 210.175.1.128/25

allow from 210.228.189.0/24

allow from 211.8.159.128/25

#au(cdmaOne)とTu-ka

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 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 219.108.158.0/26

allow from 59.135.38.128/25

allow from 219.108.157.0/25

#au(WIN)

allow from 219.125.148.0/24

allow from 222.5.62.0/23

allow from 222.7.56.0/23

#au(BREW)

allow from 219.125.162.0/23

allow from 219.125.164.0/22

allow from 222.3.144.0/21

allow from 222.15.70.0/23

allow from 222.15.72.0/21

allow from 59.128.128.0/20

allow from 59.135.48.0/20

allow from 59.137.0.0/20

allow from 59.137.16.0/20

 

CGI、PHPなども同様にIPアドレスで振り分ければ大丈夫です。

IPアドレスについてはウィキペディアを参考にしました。PHS(Willcom)は上記の例だとアクセスできません。

http://ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Tietew/...

 

.htaccessはサーバーによっては使えないこともありますのでご注意ください。

id:happy778

回答ありがとうございます。

とても参考になりました。

無事、IP制限が完了出来ました。

.htaccessに

order deny,allow

deny from all

#Docomo

#Vodafone

#au(cdmaOne)とTu-ka

上記を書き込み、その下にエラーページ設定のため下記

ErrorDocument 401 http://

ErrorDocument 403 http://

ErrorDocument 404 http://

ErrorDocument 500 http://

上記を書き込みました。

その結果ページが重くなり開くことが出来なくなってしまいました。

片方(IP制限かエラーページ)を削除するとスムーズに開くことが出来ます。

どうすれば両方置いてもスムーズにHPを開くことが出来るようになるのでしょうか?

ご存知でしたら教えて頂けるととても幸いです。

2回答分のポイントを送付させて頂きます。

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

2007/06/09 00:49:26
id:chankaz No.2

chankaz回答回数53ベストアンサー獲得回数32007/06/10 03:29:07

ポイント20pt

ErrorDocument 403 http://

その結果ページが重くなり開くことが出来なくなってしまいました。

直接の原因かどうかはわかりませんが、

そのエラーページが無限ループに陥っていたりしませんか?

「http://~」から書き始めるのではなく、絶対パスで記述してみてはいかがでしょうか?


ミケネコの htaccess リファレンス リダイレクトの危険性

(例1: ErrorDocument を使った無限ループのコンフィグレーション)

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/redirect.ht...

id:happy778

回答ありがとうございます。

http://を抜かしただけでも重さがなくなり

エラーページに飛ぶことが出来ました。

しかしそのエラーページは自分が作成したエラーページではなく

Forbidden

You don't have permission to access /f on this server.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

上記が表示されてしまいます。

自分でエラーページを設定したい理由は

PCからアクセスした際、QRコードを表示させ

携帯電話からアクセスしやすくするためです。

もしご存知でしたら教えて頂けると幸いです。

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

2007/06/10 18:42:44
id:chankaz No.3

chankaz回答回数53ベストアンサー獲得回数32007/06/10 23:49:49

ポイント20pt

http://を抜かしただけでも重さがなくなり

Forbidden

上記が表示されてしまいます。

表示させたいエラーページの絶対パスは正しく記述されていますか?

(記述したその場所にきちんとアップされていますかということです)

また、

「http://~から始まるURL」と「絶対パス」は違います。

きちんと絶対パスに変更して記述していますか?


例えば、

happy778さんがPCアクセスを拒否したいページが

http://hogehoge.jp/mobile.html

だとして、

作ったエラーページ(QRコードのページ)のURLが

http://hogehoge.jp/error.html

だとしたら、

設置状況は

/public-html
│
├/.htaccess
│
├/mobile.html
├/error.html

こんな感じになっていると思います。

(3ファイルとも全て同じ場所(ディレクトリ)にある)


この場合は、.htaccessの「ErrorDocument~」の部分には

ErrorDocument 403 /error.html

と書けば表示されるはずです。


もしそれぞれのファイルの置き場所が違うなら

絶対パスの書き方も異なってきますので、

ディレクトリ構成を書いておいた方がよいかと思います。


ディレクトリ毎に異なる自作エラー画面について

http://sb.xrea.com/archive/index.php/t-5121.html



#「1人当たり2回まで回答出来ます」とのことですので、

これ以上は回答できないようなので、もしこれでもダメなら

回答数を増やしていただくかコメント欄を開放して下さい。

id:happy778

皆様、回答ありがとうございました。

2007/06/12 14:21:40

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 b-wind 3344 3206 440 2007-06-06 07:14:06
2 nohohon_x 72 63 1 2007-06-06 09:23:35

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません