SIRIUSでパスワード保護のあるサイトやページを作る
アフィリエイトサイトを運営していると、特定の人だけが見られるサイトやページを作りたい場合が出てきます。ここではSIRIUSでそうしたサイトやページ(ファイル)をパスワードで保護する方法を解説します。
パスワードでアクセス制限するメリット
パスワードで保護されているサイトやページにアクセスすると認証画面が表示されます。
ユーザ名とパスワードを入力しないと閲覧できないので、会員専用サイトなどを作る場合に重宝します。当サイトの会員専用ページもパスワード保護されており、ログインしないと開けないようになってます。
Basic認証でパスワードを設定する
ここではBasic認証を利用したパスワード保護を設定します。
Basic認証とは
サイトやディレクトリへのアクセスを制限する最も基本的なユーザ認証方式です。限定されたユーザにのみサイトやページへのアクセスを許可したい場合に使用されます。
生成ツールにアクセスする
Basic認証では.htaccessと.htpasswdを設定する必要があります。生成ツールを利用すると簡単に作れますので下記のサイトにアクセスしてください。
生成ツールに入力する
それでは生成ツールに入力していきましょう。
IDとPASS
IDとPASSを入力します。パスワードはある程度長いほうが安全なので私は20文字に設定しています。ここではIDをusername1234、PASSをpass5678と入力しました。
.htpasswdファイルを置く場所
.htpasswdを置く場所を指定します。サーバーのルートディレクトリからのフルパスで記述しなければいけません。フルパスはサーバー会社ごとに異なりますので「サーバー名 フルパス」などで検索してください。
エックスサーバーの場合は以下を入力します。当サイトであれば独自ドメイン名にsirinova.comが入ります。「/.htpasswd」がpublic_htmlの後ろに自動で追記されますので注意しましょう。
/home/サーバーID/独自ドメイン名/public_html
サーバーIDについては以下を参考にしてください。
サーバーアカウントお申し込み時に、お客様でお決めいただいたIDです。(一部のお客様には、弊社よりXで始まるサーバーIDを指定している場合があります。)
なお、サーバーIDは、初期ドメインやFTPホスト名 としても利用されます。
(例)xsample.xsrv.jp →「xsample」の部分がサーバIDです。
パスワード設定が上手くいかない、認証画面でユーザー名とパスワードを入力すると500エラーが出る場合、多くの人はおそらくココの記述が間違っている可能性が高いです。
ファイル単位でBasic認証によるアクセス制限
htmlファイルを指定すればそのページのみをパスワードで保護できます。ただしファイルは.htaccess、.htpasswdと同じ階層になければ保護できないことに注意しましょう。
上記であれば同階層にあるcontact.htmlを指定すれば「お問い合わせページ」のみをパスワード保護することができます。
生成する
生成ボタンをクリックして.htaccessと.htpasswdを生成します。
【.htaccessファイル】
AuthUserFile /home/サーバーID/ドメイン名/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password."
AuthType Basic
require valid-user
【.htpasswdファイル】
username1234:1.qmCQ5kcbvAU
.htaccessを設定する
続いて.htaccessを設定しましょう。「サイトオプション > .htaccess設定」を開いて生成されたコードを記述します。
サイトを生成する
サイトを生成すると.htaccessがルートディレクトリに作成されます。
.htpasswdを設定する
Windows環境では「.(ドット)」で始まるファイルを作成できないので空のファイルを用意したのでダウンロードしてください。
.htpasswdファイルをメモ帳などのテキストエディタで開いて(関連付けられえていない場合はテキストエディタを開いて.htpasswdファイルをドラッグ&ドロップ)から生成されたコードを記述して保存します。
.htpasswdファイルをルートディレクトリにコピーする
次にサイト生成先を開いて.htpasswdファイルを配置します。
この時点で.htaccessと.htpasswdは同じ階層にあるはずです。
このままアップロードすればサイトやページなど、指定した箇所にパスワードが掛かっているはずなのでサイトで確認して見ましょう。今回の例ではユーザー名がusername1234、パスワードがpass5678の部分になります。
noindexとnofollowを設定する
パスワードで保護されたページは検索結果にインデックスされませんが、万が一パスワードが外れていた場合に備えてnoindexとnofollowも設定しておきましょう。
指定のフォルダ(ディレクトリ)をパスワード保護したい
Basic認証によるフォルダのアクセス制限
指定のフォルダ(ディレクトリ)をパスワード保護したいはフルパスにフォルダ名を追加し、そのフォルダに.htaccessと.htpasswdを配置してください。
【.htaccessファイル】
AuthUserFile /home/サーバーID/ドメイン名/public_html/フォルダ名/.htpasswd
サーバー設定からフォルダのアクセス制限
サーバーによってはフォルダごとのアクセス制限が設定できますので、こちらを利用することでも簡単にパスワード保護ができます。
アクセス制限(BASIC認証) | レンタルサーバー【エックスサーバー】
アクセス制限の設定 / サーバー・プログラム / マニュアル - レンタルサーバーならロリポップ!