勉強したことのメモ

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ファイルにて特定のIPの場合のみBasic認証無し、その他の場合はBasic認証有りにする方法

開発中の環境で指定したIPからのアクセスはBasic認証無しに、それ以外のアクセ ...

画像やPDF等のファイルへの直接アクセスは禁止し、PHP経由のみ表示やダウンロードを可能にする

ファイルアップローダーを作成する案件があり、アップロードしたファイルは「http ...

htaccessファイルで海外からのアクセスをIP制限する方法

「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外 ...

他ドメインから画像の呼び出し(直リンク)を禁止する方法

他ドメインからの画像の呼び出し、いわゆる直リンクの禁止を行いたかった。調べるとh ...

日本語込みのURLをRewriteRuleで書き換える方法

WordPressのパーマネントリンク的なことをhtaccessで実現したい。具 ...