MB-Support

パソコン初心者のサポートページ

2.携帯サイトでパソコンからアクセスを遮断してみる:IIS 7.5

 前回の続きです。IIS 7.5 の IP アドレスおよびドメインの制限の設定と、PC あらアクセスがあった時に返すエラー ページの設定と、携帯サイトへ検索ロボットを通すためのロボットテキストの設定方法です。


前回の続きです。 IP アドレスおよびドメインの制限の最後の設定になりますが、自分の PC の IP アドレスを登録しないと、自分の PC からアクセスできなくなります。 ローカルに WEB サーバーが存在しているならば、自分のパソコンに割り振ったプライベート IP アドレスを入力すれば良いでしょう。 同一ルーター内の WEB サーバーにドメインでアクセスするには、hosts ファイルでドメインと WEB サーバーのプライベート IP アドレスを変換させているだけなので、ネットワークを利用するものの、ルーターの外部へ飛び出す必要はありません。 つまり、自分の PC のプライベート IP アドレスで十分なのです( LAN で DHCP を利用している場合は、起動する度に変更されるので、手動割当てに切り替えましょう)。 問題は WEB サーバーが外部にある場合です。この場合はグローバル IP アドレスを指定する必要があります。

自宅サーバーのホームページにアクセスする方法(同一ルーター内)


<location path="Default Web Site/フォルダー名">
 <system.webServer>
  <security>
   <ipSecurity allowUnlisted="false">
    <add ipAddress="210.153.84.0" subnetMask="255.255.255.0" allowed="true" />
    <add ipAddress="210.153.86.0" subnetMask="255.255.255.0" allowed="true" />
〜〜〜〜〜 省略 〜〜〜〜〜

    <add ipAddress="自分のPCのIP" allowed="true" />
   </ipSecurity>
  </security>
 </system.webServer>
</location>

注意が必要なのは、このアドレスは携帯電話会社やプロバイダーにより変更されたり、追加されたりする事です。作成した時点では有効でも、メーカーが発表する度に変更を加える必要があります。一応、Mobile IP htaccess Maker で全てのキャリアと全ての検索サイトのクローラーを選択しました。

同一ルーター内にサーバーと自分のPCが存在する場合、外部へ飛び出す必要はありません。 つまり、自分の PC のプライベート IP アドレスで十分なのです( LAN で DHCP を利用している場合は、起動する度に変更されるので、手動割当てに切り替えましょう)。問題は WEB サーバーが外部にある場合です。この場合はグローバル IP アドレスを指定する必要があります。



上書きしてインターネットインフォーメーション サービス(IIS)マネージャーを起動すると、全ての IP アドレスが登録されています。 スクリーンショットでは、プレフィックスで登録されていますが、今回上手く動作しなかったので、サブネットマスクを指定しています。 つまり、括弧内は xxx.xxx.xxx.xxx の形式になっています。



携帯サイトの「i」フォルダーにアクセスできるのは、ここで設定した IP アドレスだけです。つまり、携帯電話から「i」フォルダーの上の階層である wwwroot 内のサイトにアクセスする事は可能です。それも規制する場合は、wwwroot で 携帯電話の IP を拒否設定すれば良いので、こちらのが簡単かも知れません。「i」フォルダーは拒否を前提に、登録された IP アドレスだけにアクセスを許可するので、変更や追加されたらアウトです(メーカーが公開する情報に気を配る必要があります)。



エラー ページの設定

さて、細かいところに目を移します。パソコンが携帯電話向けサイトにアクセスしてはじかれるのは想定した事です。問題は、何かしらのミスで携帯電話とモバイルクローラーがはじかれた場合の対処です。対処といっても、どうにもならないのですが、例えばパソコンからアクセスしてはじかれた場合は、「携帯電話からアクセスして下さい」、携帯電話からアクセスしたはじかれた場合は、「ごめんなさい」などと、説明やお詫びを掲載したページへ誘導する必要があります。この中で、モバイルクローラーをはじいた場合、特に何も対処できないと思います。相手は人間ではないので気にする事はありませんが、検索サイトに掲載されない問題は残ります。携帯電話からアクセスしたはじかれた場合、お詫びのページや、そこで利用する画像ファイルを「i」フォルダー内に格納すると意味がありません(「i」フォルダーにアクセスできないのですから)。



はじかれた場合、IIS7.5 が 発する「状態コード」は「403.6」になります。つまり、「i」フォルダーの「機能ビュー」の「エラーページ」で、操作「追加」をクリックして、「状態コード」は「403.6」に対応したページを登録する必要があります。もう一つ考える事は、「i」フォルダー内のミスで、存在しないページにアクセスされた場合です。状態コードは「404」になりますが、パソコン版と同じエラーページを表示するのもどうかと思います。やはり、「i」フォルダーの「機能ビュー」の「エラーページ」で、状態コードは「404」をダブルクリックして、携帯電話サイト専用の Not Found ( ノットファンド:みつからない ) ページへ誘導するのが無難でしょう。



具体的には、パソコンサイト用の「携帯からアクセスして下さい(403.6)」と、携帯サイト用の「ページが見つかりません ( 404 ) 」の WEB ページを作成します。それを、「i」フォルダーの「エラー ページ」で設定します。いずれも、wwwroot フォルダー内に配置する必要はありませんが、ここでは分かりやすく wwwroot フォルダー内に保管してみます。



インターネットインフォーメーション サービス(IIS)マネージャーを起動して、「i」フォルダーまで移動して、「機能ビュー」の「エラー ページ」をダブルクリックします。



まずは、規定で存在する 404 を変更します。状態コード「404」をダブルクリックします。



「カスタム エラー ページの編集」で、今回は静的ページ「i_error.htm」を登録したいと思います。「このサイトでURLを実行(E)」をクリックして、URL(サイトのルートに対する相対パス)を入力します。「i」フォルダーで 404 が返された場合、「/i/i_error.htm」にアクセスさせます。



403.6は存在しないので、「操作」で「追加」をクリックします。「状態コード」に「403.6」を入力、「i」フォルダーで 403.6 が返された場合、「/i_error.htm」にアクセスさせます。



以上で、403.6 、404 に対してエラーページを指定できました。もちろん、これは IP アドレスを規制した「i」フォルダー内だけの設定で(サブフォルダーも含む)、PC 向けサイトでは関係ありません。

IIS 7.0: IIS 7.0 で HTTP エラー応答を構成する



これが上手く動けば、右のような動作をするはずです。ログと睨めっこして「sc-status」を確認しますが、初期状態では 403.6 、または、404 が発生しても、200(正常)と記録されます。手っ取り早く、これらの エラー ページ に飛ばされた状況を把握したければ、エラー ページに 1 × 1 ピクセルの gif を埋め込む方法があります。例えば、404 のエラー ページには、404.gif を埋め込み、403.6 のエラー ページには、406.gif を埋め込みます。

携帯サイトに PC からアクセスがあった場合、403.6 エラー ページに飛ばされます。このとき、「sc-status」は 200 となるため、ページが表示されてしまっていると勘違いしますが、その下に(アクセスが多い場合は、並んでいるとは限りませんが、付近に)同一 IP アドレスで406.gifを取得しているはずです。これと、cs(User-Agent) を見比べれば、正しくエラー ページが動作している事を確認できます。モバイルサイトの cs(User-Agent)が記録されていて、なおかつ 406.gif が取得されていると、意図した動作をしていないか、cs(User-Agent) が偽装されている可能性があります(Firefoxのエクステンションなどで)。いずれにしても、cs(User-Agent) ではなく、IP アドレスで許可しているため、問題があると思われるログの IP アドレスと、applicationHost.config を見比べれば、対策するべきかを判断できるでしょう。あまりにも多い場合は、メーカーがIPを追加したから、変更した可能性があるため、メーカーサイトで IP アドレスを取得して、applicationHost.config を書き換えます。

IIS 7.0 構成の概要 - Internet Information Services (IIS) TechCenter



ロボットテキスト:robots.txt

ロボットテキストは、検索サイトが情報を収集するクローラーを拒否、許可を定めるテキストファイルですが、これもいろいろ考える必要があり面倒です。PC向けクローラーは、当然ながら携帯電話向けサイトのクロールを拒否して、モバイルクローラーだけを携帯電話向けサイトに来て欲しい訳です。まず、「User-Agent:*」は、全てのクローラーに対して規制します。Disallow: /フォルダー名/ で、フォルダー単位でクローラーを遮断する事ができますが、モバイルクローラーも含まれてしまうため、ここではモバイルサイトとかパソコン向けサイトとかは関係無く、クロールされたくないフォルダーを指定します。

User-Agent:*
Disallow: /フォルダー名/

次は、「User-agent: Googlebot」に対してです。User-agent: Googlebot は、パソコン向け検索のクローラーなので、モバイルサイトのフォルダー(ここでは「i」フォルダーを遮断します)。ここで遮断する事で、パソコン向け検索サイトにモバイル向けサイトがヒットしないかと言うと、そういう事でも無いみたいです。

User-agent: Googlebot
Disallow: /i/

次は、「User-agent: Googlebot-Mobile」です。こちらは、モバイル向け検索のクローラーなので、「i」フォルダーを許可します。

User-agent: Googlebot-Mobile
Allow: /i/

つなげて書くと、こんな感じになります。

User-Agent:*
Disallow: /フォルダー名/
User-agent: Googlebot
Disallow: /i/
User-agent: Googlebot-Mobile
Allow: /i/

しかし、これは全てのクローラーと、グーグルのパソコン向けと携帯向けのクローラーだけの対処となります。他にも Yahoo や Bing を筆頭に、クローラーは沢山あります。User-Agent:* はこららのクローラーにも有効なので、遮断する事は可能ですが、各社パソコン向けのクローラーでモバイルサイトを拒否するには、パソコン版とモバイル版のクローラーの名称を知る必要があります。



次のアドレスに携帯電話(申し訳ありませんが、許可された IP アドレスだけです)からアクセスすると、右の様に表示されます。 ページサイズは約 3 KB 、画像は 24.37 KB 。(注:従量制の場合、パケット料金が発生します。)

アクセスできない場合は、403.6 で設定したエラー ページが表示されます。これは、以下のアドレスにパソコンからアクセスしてみれば分かります( 403.6 エラーページに移動しない場合、このページで設定した事が無駄になります)。 携帯電話もパソコンも、このページは同じにしてあります。

http://mbsupport.dip.jp/i/d/10/09040101.htm



この後、User agent(ユーザーエージェント)でキャリア振り分けても良し( PHP などのプログラムが必要 )。 アクセス制限でユーザーエージェントを元にしても、Firefox のエクステンションを使えばアクセスできてしまいます(それでも別に問題はありませんが)。 今回は、IP アドレスで規制するので、その心配はありませんが、メーカーが公開している IP アドレスや、検索ロボットの IP アドレスが変更されたら、こちらも対処しなくてはなりません。



.htaccess(ドットエイチティーアクセス)で制御するのが簡単そうなのですが、これは WEB サーバーに Apache(アパッチ)を使った場合です。 なら、Apache で WEB サーバーを構成すれば良いじゃないという話ですが、それはそれで、Windows Server 2008 R2 Foundation を購入してしまった訳でして、IIS での設定方法が見つかりませんでした。 これは、検索の仕方が悪いのか、IIS では当然の様に出来るから(このページに掲載したみたいに)検索にヒットしないのかは不明です。

また、携帯サイトへのアクセスを制御したものの、肝心のキャリアによるWEBサイトの互換性は別件です。 今回は完全に無視しましたが、管理人は携帯電話を所有していないので手を出せません。 また、携帯電話の部類に iPhone などの最新デバイスが含まれるものの、WEBページの表示に関しては、ほとんど PC と変わらないと思われます。 よって、これらのデバイスも別件になります。




戻る 一覧表示 次へ


Copyright © 2018 MB-Support パソコン初心者のサポートページ All Rights Reserved.

管理人サイト閲覧方法プライバシーポリシー著作権/免責事項