web関連

webサイトにベーシック認証をかけたいとき

webサイトにベーシック認証をかけたいとき

さくらインターネットでwebサイトにベーシック認証をかけた時の備忘録

必要なモノ

  • .htaccess
  • .htpasswd

どっちのファイルもベーシック認証をかけたいディレクトリ内に入れる

 

IDとパスワードを.htpasswdに設定する

以下のサイトで「ID」と「Password」を指定して「生成」を押すと「.htpasswd」が生成されるのでそれをコピーして「.htpasswd」に貼りつけてベーシック認証をかけたいディレクトリ内にアップロード

▼htpasswdファイル生成(作成)
http://www.luft.co.jp/cgi/htpasswd.php

以下のようなコードが発行されるので.htpasswdに貼りつけてアップロード

//IDに「test」Passwordに「testpass」を指定した例
test:h2FrwomLkcgNE

 

.htaccessで詳細情報の設定をする

以下のコードを「.htaccess」に貼りつける

AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /フルパス/.htpasswd
require valid-user 

フルパスの部分は以下のコードを貼りつけたPHPファイルをベーシック認証をかけたいディレクトリにアップロードすると確認できる

<?php
echo __FILE__;
?>

上記コードを使うと↓の様なパスが出力される

//index.phpに貼りつけた例
/home/××××××/www/××××××.jp/ベーシック認証かけたいディレクトリ/index.php

↓こんな感じで差し替える

//差し替え例
AuthUserFile /home/××××××/www/××××××.jp/ベーシック認証かけたいディレクトリ/.htpasswd

貼りつけてベーシック認証かけたいディレクトリにアップロードすればベーシック認証がかかる

 

500エラーとかが出て上手くかからない時はパーミッションを「604」や「644」にしてみて下さい
さくらでやったけど特にパーミッションはいじらずに行けた