レイアウトは次のとおりです。
web root
- admin (dir)
- index.php
- js
- img
- other files / dirs
- dir
- files
これまで、管理ディレクトリを .htaccess passwd で保護していました。そのディレクトリ内のすべてのファイル (js スクリプト、jpg、pdf などを含む) に対する完全なアクセス制御が必要だからです。一方、私のカスタム CMS は、他の URL に対して PHP セッション / Cookie を使用して認証を提供します。私が達成したいのは、.htaccessで保護されたディレクトリに同じPHP認証を使用し、すでにPHP認証されたユーザーのユーザー/パスワードのポップアッププロンプトを回避することです。要約すれば:
- 管理ディレクトリが認証に .htaccess ルールを使用するようにしたい
- ユーザーがすでに PHP を使用して認証されている場合 (HTML フォームで、保護されていないファイルにログイン)、管理ディレクトリのコンテンツにアクセスするときに 2 番目の .htaccess 認証プロセスをバイパスします。
- PHP 認証されていないユーザーが管理ディレクトリのコンテンツにアクセスしようとすると、HTTP 認証ポップアップがトリガーされます。
私が読んだもののほとんどは、管理ディレクトリを Web ルートの外に移動し、readfile を使用して PHP スクリプトからファイルにアクセスすることを提案していますが、これはやりたくありません。そのディレクトリには動的コンテンツと静的コンテンツがあります。リソースをロードする前にApacheが認証ポップアップをトリガーすることはわかっているので、問題はユーザーがすでに認証されていることをApacheに認識させる方法です。他の提案/回避策はありますか?