ベーシック認証でディレクトリ単位とその中にある一部HTMLファイルにベーシック認証をつけたいです
階層は以下です
/ members hoge.html .htaccess .htpasswd
現状のhtaccessと.htpasswd
.htaccess
AuthUserFile /var/www/vhosts/hoge.jp/httpdocs/members/.htpasswd AuthGroupFile /dev/null AuthName "Input ID and Password." AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files>
.htpasswd
hoge:hoges
これでmembersはベーシック認証されてます。
こちらの状態に
membersディレクト内にあるhoge.htmlにベーシック認証をつけたいです。
試したこと
.htaccessに以下追記
<Files ~ (hoge.html)> require valid-user </Files>
.htpasswdにパスワードを追記でダメでした
階層の説明を見ると、.htaccess はmembersの下でなく、横並びに見えますが、合ってますか?以降を見ると、membesrの下のように思えるのですが。
> これでmembersはベーシック認証されてます。
> こちらの状態にmembersディレクト内にあるhoge.htmlにベーシック認証をつけたいです。
membersに認証が掛かっていればその中のhoge.htmlにも認証が掛かっているはずですが、
http://example.com/members/ だと認証が必要となって、
http://example.com/members/hoge.html をダイレクトに行くと認証要とならないと言うことですか?
アクセス毎に、毎回ブラウザをちゃんと終了させてますか?
すみません
間違えてますね。。hoge.htmlと同じく半角スペースがhtaccessなどにないですね・
以下のようになってます。
├members/
│ └hoge.html
│ └.htaccess
│ └.htpasswd
hoge.html は別の導線からアクセスされるので、
こちらにベーシック認証を付けたいのです
直接members/hoge.htmlにアクセスしたとしても
members/
と
members/hoge.html
の2回認証が必要な構成ですね。
1回で済ませたいのでしたら別ディレクトリにしたほうが良いのでは。
membersから切り離す的な話でよろしいでしょうか?
以下のような
members/
│ └hoge
│ └hoge.html
│ └.htaccess
│ └.htpasswd
会員のコンテンツなので、membersの階層からは出せないのですが
因みにhoge.htmlのみPHPでベーシック認証をすることは可能でしょうか?
できるのなら.htaccessでのやり方以外でも大丈夫なのですが
そもそもベーシック認証って、サーバの特定領域にアクセスした時にリクエストの横取りに近い形で認証する方式なので(私の認識です)、
サーバの中にアクセスするときに読まれるPHPで行うのはベーシック認証と言いません。
もういっそフォーム認証にしては。
ベーシック認証にこだわる理由が分かりません。
センシティブな情報なのでベーシック認証が必要なのです
一般的でないのはそうだと思います。。
センシティブだからベーシック というのはきちんと理解した上で採用しているようには思えませんが・・
https://jp.quora.com/BASIC%E8%AA%8D%E8%A8%BC%E3%81%AF%E3%81%A9%E3%81%AE%E3%81%8F%E3%82%89%E3%81%84%E5%AE%89%E5%85%A8%E3%81%A7%E3%81%99%E3%81%8B
何がやりたいのかちゃんと書きましょう。
membersディレクトリ全体が認証要となっているのであれば、その中のファイルhoge.htmlにも認証が掛かっています。
もしかして、membersディレクトリ全体の認証を不要と変更して、その中のファイルhoge.htmlにだけ認証を掛けたいと言うことでしょうか?
申し訳ありません。
一旦確認中ですが、hoge.htmlにだけベーシック認証が出来うようにしたいです
タイトルと内容修正を。
正しく伝えられてないことで関わる人が多くの時間を浪費してしまいます。

回答1件
あなたの回答
tips
プレビュー