Search

ベーシック認証で複数の特定ファイルを指定する

まず、ベーシック認証ってなんだ?ってところから・・・wikiより。。

Basic認証 … 基本認証と呼ばれることも。 Basic認証では、ユーザ名とパスワードの組みをコロン “:” でつなぎ、Base64でエンコードして送信する。 このため、盗聴や改竄が簡単であるという欠点を持つが、ほぼ全てのWebサーバおよびブラウザで対応しているため、広く使われている。

なんか、バレちゃいけない個人情報等あるときにベーシック認証をかけるのは危ないかも・・・
そんなときはダイジェスト認証というものがあるみたいだけど、対応していないブラウザもあるみたいで一長一短かもかも・・・

そんなこんなで、下記コードの2箇所を変えて.htaccessに入れると、特定の複数ファイルにベーシック認証がかけられる・・・と思いますw
※「サイトパス」というところと、「認証をかけたいファイル」というところです。

 

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile サイトパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
order deny,allow
<Files ~ (認証をかけたいファイル.html|認証をかけたいファイル.php)>
require valid-user
</Files>

 

ところで、サイトパスの調べ方だけど、sshでサーバに入れるなら、ベーシック認証を設定したいディレクトリまでいって「pwd」というコマンドを打つといいかも。。

また、一つだけのファイルにベーシック認証をかけたい時は、下記コードでいけると思います。
※「files」の中身だけちと違う。

 

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile サイトパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
order deny,allow
<Files 認証をかけたいファイル.html>
require valid-user
</Files>