株式会社ネーブルス代表取締役福田一成の公式ブログ -296ページ目

Digest認証

昨日、BASIC認証を書きましたので、じゃあ、ついでに

Digest認証も書いておきましょうという事で。


システム会社の新米社長のブログ

BASIC認証とDigest認証の違いは、

http通信で使用した時、BASIC認証は平文でIDとパスワードが飛び交います。

Digest認証の場合は、暗号化されたIDとパスワードが飛び交います。


私的には、SSL+BASIC認証をよく使用する方なので

もっとセキュリティをと考えてる方は参考にされてください。

Digest認証では、MD5による複合化できない暗号化されたパスワードを使用します。

SSLは、ご存知の通り公開鍵と秘密鍵の方式です。

両方あわせてSSL+Digest認証でも使用できます。

Digest認証は、ブラウザによっては使用できなかったり、レンタルサーバでは設定されてなかったりしますので場合に応じて使用されると良いでしょう。

BASIC認証と同様に、これまた簡単です。


.htaccessに以下の内容を記載


AuthUserFile /どこかのフォルダ/.htdigest(パスワードファイル)
AuthName secure
AuthType Digest
Require valid-user


/どこかのフォルダ/内に、.htdigest(パスワードファイル)を作成します。


htdigest -c .htdigest secure user_name


初めて作る時は、-cを付け、既に存在する場合は、オプションは付けません。

これは、BASIC認証の時と同じです。
なお、AuthNameのとhtdigestのオプションが一致している必要があります。(この場合、secure)

このsecureは好きな文字に変更して使用ください。


完了です。簡単です。

とりあえず修正完了

土曜日も日曜日も仕事しまくっていた私です。

当社の中心となる営業サイトの一部機能を修正しておりました。

やっと修正作業が完了しました。

他のスタッフも自宅の方で各人の担当の仕事をやっています。

我々には、当分、休みなど来そうにありません。

(正月休めるだろうか・・・。)


本日は追加分の機能の制作にかかります。

う~ん。修正した部分を流用して制作するので制作時間は

それ程、かからないと思われますが、プラスアルファの

アイデアが必要です。今からでも少し考えておかなければ、

また、寝られなくなりそうです。

BASIC認証はまった

システム会社の新米社長のブログ

日頃から利用しているBASIC認証。

お客さんに、渡すデータをダウンロードしていただくため

公開しているサーバにフォルダを作成しデータを入れる。

BASIC認証をかけ一応セキュリティと言う事で

お客さんにはBASIC認証のIDとパスワードを後程連絡する。

当然、SSLはかけますよ。SSL接続を使用しないと入れないようにしてます。

.htaccessに下のように記述し、


SSLRequireSSL
AuthType Basic
AuthUserFile /どこかのフォルダ/.htpasswd(パスワードファイル)
AuthGroupFile /dev/null
AuthName "認証メッセージ"
Require valid-user


以下の様にパスワードファイルをhtpasswdコマンドで作成すれば終了。

下の場合は、ファイルを新規の作る場合で、既にあるのに-cオプションを

使用すると元のファイルがクリアされるので注意。

既にファイルがある場合は、-cオプションは使用しない。


htpasswd -c .htpasswd ユーザー名


「さあ。できた、じゃあブラウザで確認っと・・・。」


ところが、ID、パスワードを求めるポップアップが出てこない。

おかしいと思い.htaccess、.htpasswdファイルを確認する。


「???あれ?いつもだと直ぐにできるのにな~。」


もうお気づきの人がおられる事でしょう。あせっていると気が付かないものです。

あ~でもない、こ~でもないと見直してみますがいっこうに結果は変わりません。

Apacheを再起動してみれば変わるかなと思った時に気が付きました。

httpd.confの存在を・・・。遅い。

慌ててhttpd.confのディレクティブを修正。


<Directory />
Options All
AllowOverride All
</Directory>

今度は大丈夫だろうとApache再起動してブラウザで確認してみるが、

何も変化が無い・・・。今度こそはまった。と・・・。

しかし、良く見直してみれば、こっちを変更しなければ変わらないです。

使っているのは/var/www/htmlなのだから。


<Directory "/var/www/html">

  ・

  ・

  ・

AllowOverride All

  ・

  ・

</Directory>


そそくさと修正し、BASIC認証がかかっている事を確認し終了。

さあ、帰ろうと思ったときには、9時を過ぎていた。

BASIC認証ごときで、1時間近くもとられてしまった。