人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

携帯専用サイトのソースを覗かれなくする方法を教えてください。
私が今まで使用していたのは下記

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

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

●質問者: happy778
●カテゴリ:インターネット ウェブ制作
✍キーワード:AU Write アクセス サイト ソース
○ 状態 :終了
└ 回答数 : 3/5件

▽最新の回答へ

1 ● unsteady
●40ポイント ベストアンサー

まず、最初に申し上げますと<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はサーバーによっては使えないこともありますのでご注意ください。

◎質問者からの返答

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

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

無事、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回答分のポイントを送付させて頂きます。

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


2 ● chankaz
●20ポイント

ErrorDocument 403 http://

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

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

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

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


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

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

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

◎質問者からの返答

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

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コードを表示させ

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

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

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


3 ● chankaz
●20ポイント

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回まで回答出来ます」とのことですので、

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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ