1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

こんにちは。
エンジニア歴1年ちょっとの新米バックエンドエンジニアです。
今回はbasic認証でちょっと躓いたのでその備忘録です。

basic認証のかけ方

.htaccessファイルの作成

まずは上記の2つのファイルを作成します。

.htaccessファイルに下記のコードを追記

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

AuthUserFile
認証に使用されるパスワードとユーザー名が書いてある.htpasswdファイルのフルパスを指定します。
(フルパスの調べ方は後述)

AuthName
ユーザーに表示されるメッセージを編集できます。
このままでも大丈夫です。

AuthType
使用する認証タイプの指定を行います。
大文字小文字を正確に区別する必要があるので注意して記述してください。

Require valid-user
.htpasswd ファイルに記載されているユーザーに対してアクセスを許可する設定です。

.htpasswd ファイルの作成

次に.htpasswd ファイルの作成を行います

.htpasswd
username:password

.htpasswdファイルには認証で使うユーザー名とパスワードを記載します。
パスワードはパスワード暗号化ツール を使って暗号化しましょう。

フルパスの調べ方(PHP)

PHPを使ってフルパスを調べる方法を紹介します。
中々フルパスへの調べ方が分からなくて苦戦しました:frowning2:
まず、path.php(任意のファイル名)を作成し、以下のコードを記述

path.php
<?php
$htpasswdPath = __DIR__ . '/.htpasswd';
echo $htpasswdPath;
?>

path.phpをサーバーにアップロード後、path.phpにアクセスするとフルパスが出てくるのでそちらを全部コピーして .htaccessファイルに追記します。

サーバーにファイルをアップロード

.htpasswdをアップロードする際は必ず.htaccessで指定したディレクトリの直下に配置してください。

また、.htaccessファイルですが認証をかけたいディレクトリに配置してください。

例)管理者画面のみにbasic認証をかけたい場合

web
├ assets
│ ├ js
│ │ ├ main.js
│ │ └ vendor.js
│ └ css
│   └ style.css
//adminフォルダ直下に.htaccessを設置
├ admin
│ ├ .htaccess
│ └ info
│   ├ hoge.php
│   └ admin.php
└ index.html

adminフォルダ直下に.htaccessファイルを配置することで管理者画面にアクセスしたときのみにbasic認証がかかるようになりました。

まとめ

今回はbasic認証について簡単にですがまとめてみました。
かなり手こずりましたが、1人ですることができたので良かったです。
同じように苦戦している人の参考になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?