WEBサイトに人を寄せ付けない・アクセスされないようにする方法
投稿日:2017年01月14日
最終更新日:
方法の一覧(下に行くほど難易度高し)
- HTMLに「noindex」の設定を行う(不完全)
- 「robots.txt」を配置する(不完全)
- 「.htaccess」を使う(超強力)
HTMLに「noindex」の設定を行う(不完全)
これが一番手軽な方法と思われます。アクセスされたくないページのHTMLの<head>~</head>内に、以下の1行を追加するだけの簡単なお仕事です。
[PHP] [/PHP]この設定を行えば、クローラー(Googleなどが運用しているWEBサイトの情報を収集するプログラム)に対して「このページをインデックスに登録しないでね(検索エンジンで検索結果として表示しないでね)」という意思を伝えることができます。
但し、この設定はあくまでも検索エンジンのクローラーに対して「検索結果に表示しないで欲しい」と伝えるだけです。URL直打ちで第三者が襲来する可能性はもちろんありますし、クローラーは普通にやってきます。「検索されないようにする」だけです。本気で第三者のアクセスを遮断しなければならない場合は、後述するもっと強力なやり方を用いる必要があります。
「robots.txt」を配置する(不完全)
HTMLに呪文を書くよりも難易度が1段階アップしますが、これも検索エンジンのクローラーを追い払う手段です。「robots.txt」という名前のテキストファイルを作成し、ある呪文を保存したらサーバーの特定のディレクトリにアップロードします。サイト全体でクローラーを追い払う場合は、以下のような記述になります。
[VIM] User-agent: * Disallow: / [/VIM]作成したrobots.txtをWEBサイトの最上位ディレクトリにアップロードすれば、クローラーはそのサイトに来なくなります。サイト内の特定のディレクトリ(ページ)だけクローラーの巡回対象から除外する場合は、以下のような記述になります。
[VIM] User-agent: * Disallow: /hoge/ Disallow: /sample.html [/VIM]ただ、robots.txtも万全ではありません。Google大先生のクローラーは正しく書かれたrobots.txtの記述にきちんと従ってくれますが、お行儀の悪いクローラーはrobots.txtの記述を無視しやがります。robots.txtも、本気で第三者のアクセスを遮断しなければならない場合には使えません。
「.htaccess」を使う(超強力)
設定難易度は跳ね上がり、使用できるサーバーも限られてきます(無料のブログサービス・レンタルサーバーなどでは使えないことも多いです)が、効果は非常に高いです。WEBサーバー(Apache)の設定ファイルである「.htaccess」を使えば、第三者のアクセスを根こそぎ遮断することも可能です。有料のレンタルサーバーであれば、使用できるところも多いです(詳細は各レンタルサーバー業者で確認してください)。
「.htaccess」を使用する場合は、
- サーバーが「.htaccess」に対応している
- テキストエディタで「文字コード」「改行コード」を適切に設定できる
- FTPなどで「.htaccess」をサーバーに送り込める(編集できる)
この例では、.htaccessが配置されたディレクトリにある「hoge.php」ファイルに対するアクセスを制限しています。一旦すべてのアクセスを拒否し、IPアドレスが192.168.0.1のユーザーのみアクセスを許可しています。ディレクトリ全体にアクセス制限をかける場合は、以下のような記述の.htaccessを用意し、アクセスを制限したいディレクトリにアップロードしてください。
[VIM] order deny,allow deny from all #一旦全部アクセス拒否 allow from 自分のIPアドレス #個別にアクセス許可を出す [/VIM]参考リンク