レンタルサーバーでパスワード制限をかけるには「BASIC認証」を利用する。
多くの場合、レンタルサーバーの管理画面から有効/無効を切り替えられるが、管理画面では対応していない場合もある。
1.BASIC認証の有効化
レンタルサーバーの管理画面でパスワード制限を対応していない場合は、自分でファイルを作成/修正してFTPなどでファイルをアップロードする必要がある。次の2つのファイルを作成する。すでにファイルがある場合はダウンロードして内容を追加する。
- .htaccess
- .htpasswd
.htpasswd用の暗号化テキストを作成するには下記のリンクをクリック。
「ユーザー名」と「パスワード」を入力して「変換」をクリック。
(図1)「変換」
(図2)内容をコピー
表示されたテキストをコピーして「.htpasswd」に貼り付け。
(ファイル1).htpasswd
username777:$2y$10$f89xJxDbqVMtrTZAOtr24.rDpmZKMoXF1fkUPxGnRzUMWhzB2pGUe
(ファイル2)を「.htaccess」ファイルに貼り付けてから、「フルパス」の部分を「.htpasswd」をアップロードするフォルダの「フルパス」に書き換える。
(ファイル2).htaccess
AuthUserFile 「フルパス」/.htpasswd
AuthGroupFile /dev/null
AuthName MembersOnly
AuthType Basic
require valid-user
2つのファイルをレンタルサーバーにアップロードする。アクセスするとログイン画面が表示されるようになる。
(図3)FTPで「.htaccess」と「htpasswd」を「アップロード」
ぼくのXFREE(WordPress)の場合は、「http://bokwnch.wp.xdomain.jp/」にアクセス。
(図4)ログイン画面
2.BASIC認証の無効化
BASIC認証の記述をコメントアウトする(行の先頭に「#」をつける)。
(ファイル3).htaccess
#AuthUserFile /home/bokwnch/bokwnch.wp.xdomain.jp/public_html/.htpasswd
#AuthGroupFile /dev/null
#AuthName MembersOnly
#AuthType Basic
#require valid-user
レンタルサーバーにあるファイルの書き換えは、次の手順で行う。
- 「.htaccess」をダウンロード
- 「.htaccess」を書き換え
- 「.htaccess」をアップロード
3.フォルダのフルパスの調べ方
レンタルサーバーにあるフォルダの「フルパス」を調べるには、調べたいフォルダと同じフォルダに「dir.php」をアップロードする。ブラウザから「dir.php」にアクセスするとフルパスが表示される。
(ファイル4)dir.php
<?php
echo __DIR__;
?>
参考:「PHPポケットリファレンス」の567ページ。
今回は、.htpasswdを置いたフォルダの「フルパス」を調べたいので、同じフォルダに「dir.php」をアップロードする。
ぼくのXFREE(WordPress)の場合は、「http://bokwnch.wp.xdomain.jp/」になるよ。
(図5)FTPで「dir.php」を「アップロード」
ぼくのXFREE(WordPress)の場合は、「http://bokwnch.wp.xdomain.jp/dir.php」になるよ。
(図6)URLを入力して「実行」
ついでに、無料レンタルサーバーの「フルパス」をこの方法で調査してみた。
レンタルサーバー | dir.phpを配置したURL | フルパス |
---|---|---|
XFREE(WordPress) | http://bokwnch.wp.xdomain.jp/dir.php | /home/bokwnch/bokwnch.wp.xdomain.jp/public_html |
XFREE(PHP-MySQL) | http://bokwnch.php.xdomain.jp/dir.php | /home/bokwnch/bokwnch.php.xdomain.jp/public_html |
スターサーバーフリー | http://bokwnch.starfree.jp/dir.php | /home/bokwnch/bokwnch.starfree.jp/public_html |
XREA FREE(.shop) | https://www.bokwnch.shop/dir.php | /virtual/bokwnch/public_html/www.bokwnch.shop |
XREA FREE(.sxxx.xrea.com) | http://bokwnch.sxxx.xrea.com/dir.php | /virtual/bokwnch/public_html |
4.パスワードの暗号化方法
パスワードの暗号化は、簡単なので自分で作れる。次の2つのファイルを同じフォルダにアップロードするだけ。あとは、ブラウザで「crypt.html」にアクセスして実行するだけ。
- crypt.html(ファイル5)
- crypt.php(ファイル6)
ここのは「https://bokwnch.jp/html/tools/crypt/」上にアップロードしてある。
(ファイル5)crypt.html
<html>
<head>
<meta charset="utf-8">
<title>crypt</title>
</head>
<body>
<p>BASIC認証用のパスワード暗号化</p>
<form action="crypt.php" method="post">
<p>ユーザー名:<input type="text" name="uname"></p>
<p>パスワード:<input type="text" name="pswd"></p>
<input type="submit" name="send" value="変換">
</form>
</body>
</html>
(ファイル6)crypt.php
<?php
$username=$_POST['uname'];
$password=$_POST['pswd'];
$salt=password_hash($password, PASSWORD_DEFAULT);
echo $username . ':' . crypt($password, $salt);
?>
参考:「PHPポケットリファレンス」の330~335ページ。
寝る。