【Basic認証(ベーシック認証)】サイトにアクセス制限をかける
2019年12月3日
CODE
この記事のURLとタイトルをコピーする
Basic認証(ベーシック認証)とは、WebサイトにIDとパスワードでロックをかけることができる機能です。
IDとパスワードが一致しなければ、サイトを閲覧することができません。
Basic認証をかける理由と、設定の仕方を確認しましょう
サーバーにアップロードした状態でも、Basic認証を設定して入れば特定のユーザーのみ閲覧できるようになります。
例えば、テスト環境のサイトなど。
URLが異なっていても、同じ内容のサイトが複数あると、検索エンジンのクロールは「重複したサイト」と判断し順位が低くなる場合もあります。
Basic認証をかけていれば、クロールが巡回してきてもIDとパスワードが分からないため、サイトの中身まで回ることはありません。
既にファイルがある場合は、ファイルに追加してください。
この後作成する「.htpasswd」までのフルパスを指定します。
新しいファイルを作成し、以下のコードをコピペします。
任意のファイル名に、拡張子「.php」を設定して保存します。
このPHPファイルを、Basic認証を設定したいディレクトリにアップロードして、ブラウザからアクセスしましょう。
すると、PHPファイルまでのフルパスが表示されます。
パスの最後に表示されるPHPファイルを、「.htpasswd」に書きかえます。
基本的には「/dev/null」で大丈夫です。
日本語だと環境により文字化けするので、英語で入力すると無難です。
「Basic」にします。
ファイルに記述する内容を簡単に生成するツールがあります。
http://www.luft.co.jp/cgi/htpasswd.php
「ID」と「Password」に任意の文字列を入力し、生成ボタンをクリックします。
すると下に「.htpasswd」という、ファイルにコピペするテキストが表示されます。
ファイルにコピペし、「.htaccess」と同じディレクトリ直下にアップロードしましょう。
IDをパスワードを入力しサイトが表示されたら、Basic認証の設定は完了です。
設定する際は状況に応じ、必ずバックアップを取ってから実践してください。
Basic認証をかける理由と、設定の仕方を確認しましょう
Basic認証をかける理由
Basic認証をかける理由は2つあります。- ・公開前サイトの閲覧者を管理する
- ・検索エンジンからはずす(テスト環境など)
公開前のサイトにアクセス制限をかける
制作中のサイトは、クライアントからOKがないと世の中に出すことができません。サーバーにアップロードした状態でも、Basic認証を設定して入れば特定のユーザーのみ閲覧できるようになります。
検索エンジンからはずす(テスト環境など)
検索エンジンの検索結果に表示させたくない場合も、Basic認証を設定して制限をかけます。例えば、テスト環境のサイトなど。
URLが異なっていても、同じ内容のサイトが複数あると、検索エンジンのクロールは「重複したサイト」と判断し順位が低くなる場合もあります。
Basic認証をかけていれば、クロールが巡回してきてもIDとパスワードが分からないため、サイトの中身まで回ることはありません。
Basic認証の設定方法
「.htacces」を作成する
以下のコードをコピペし、Basic認証をかけたいディレクトリ直下にアップロードしましょう。既にファイルがある場合は、ファイルに追加してください。
1 2 3 4 5 6 7 8 |
<Files ~ "^\.ht"> deny from all </Files> AuthUserFile /home/◯◯◯◯/◯◯◯◯/public_html/stg/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user |
AuthUserFile
ドキュメントルートを指定します。この後作成する「.htpasswd」までのフルパスを指定します。
フルパスの確認方法
PHPファイルを使用して確認します。新しいファイルを作成し、以下のコードをコピペします。
1 2 3 |
<?php echo __FILE__; ?> |
このPHPファイルを、Basic認証を設定したいディレクトリにアップロードして、ブラウザからアクセスしましょう。
すると、PHPファイルまでのフルパスが表示されます。
パスの最後に表示されるPHPファイルを、「.htpasswd」に書きかえます。
AuthGroupFile
グループごとのアクセス許可を指定します。基本的には「/dev/null」で大丈夫です。
AuthName
認証のポップアップに表示される文字列を指定します。日本語だと環境により文字化けするので、英語で入力すると無難です。
AuthType
認証方式を指定します。「Basic」にします。
「.htpasswd」を作成する
「.htpasswd」というファイルを作成します。ファイルに記述する内容を簡単に生成するツールがあります。
htpasswdファイル生成(作成)
.htaccess による認証用 パスワード暗号化ツールhttp://www.luft.co.jp/cgi/htpasswd.php
「ID」と「Password」に任意の文字列を入力し、生成ボタンをクリックします。
すると下に「.htpasswd」という、ファイルにコピペするテキストが表示されます。
ファイルにコピペし、「.htaccess」と同じディレクトリ直下にアップロードしましょう。
Basic認証が動作するか確認する
サーバーにアップロードしたら、Basic認証が正常にアクセスするかサイトにアクセスします。IDをパスワードを入力しサイトが表示されたら、Basic認証の設定は完了です。
さいごに
基本的にはコピペするだけで設定可能なので、コーディングの知識があれば比較的簡単にBasic認証をかけることができるかと思います。設定する際は状況に応じ、必ずバックアップを取ってから実践してください。
この記事のURLとタイトルをコピーする