勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

htaccessファイルでダイジェスト認証を行う方法

   2024/01/12  Apache サーバー

何かで調べ物をしていたときにdigest認証というものを見かけた。basic認証よりセキュリティ面が強化されているらしい。apacheの設定とかsshを触らずにhtaccessで設定する方法を以下にメモ。

 

設定方法

.htaccess記述例

AuthType Digest
AuthName "realm"
AuthUserFile /ここにパス/.htdigest
Require valid-user

.htdigest記述例

user:realm:(md5化したuser:realm:passを入れる。カッコは入らない)

MD5化について

例えば「test:realm:hogehoge」の場合、この1行をコピーして以下サイトとかでMD5に変換する。

https://dev.digitra.net/tools/md5encode.php

そうすると「9c66fee8a2c42318c5dc1c2be7c3b257」という変換結果がでるので以下を.htdigestに記述する。

test:realm:9c66fee8a2c42318c5dc1c2be7c3b257

 

その他

そもそも何が違うのでよく分かっていなかったので調べてみた。

basic認証

セキュリティ的に危ない。ほぼ全てのブラウザで対応している。

digest認証

basic認証よりセキュリティ面が強化されてる。古いブラウザだと対応していない。

 

所感

apacheの設定とか弄るんだったら面倒だけど、この方法なら簡単に設定できるので今後はこちらを使っていく。

 - Apache サーバー

  関連記事

htaccessとhttpd.confの優先度

既に完成しているシステムを引き継ぐことがあり、そこのリライトルール設定を変更した ...

apacheを再起動する際に影響を少なくする方法(graceful)

apacheを再起動するとクライアントとの通信が強制的に切断されてしまう。その影 ...

特定ディレクトリ以下のBasic認証を無効化する方法

Basic認証を設定しているサイトがあり、そちらを解除したかった。通常の場合だと ...

.htaccessでURLの末尾のphpという拡張子が無い場合でもページを表示させる方法

「/hoge/test.php」のようなディレクトリ・ファイル名の場合は「htt ...

Apache2.4で[access_compat:error]AH01797エラーの対処方法

Apacheのエラーログを追っていると「[access_compat:error ...