どういうことか
通常、制限を掛けたいディレクトリ直下に .htaccess
と .htpasswd
を用意し、BASIC認証を行いますよね。
この場合、ブラウザで該当のURLにアクセスすれば、
1.ブラウザが用意するダイアログが出てきてID/PWを入力し送信する
2.問題なく認証すれば、そのディレクトリ以下の全てのファイルにアクセスができる
3.認証しなければ、そのディレクトリ以下の全てのファイルにアクセスできない
という流れになるかと思いますが、この 1. のところをHTMLの <form>
タグを使用したID/PWの入力にし、実際の認証はPHPで行いたいという要件になります。
ただしこの時、2. や 3. は上記の通りにしたいのです。普通にPHPでセッションとか使った認証にしてしまうと、その該当ディレクトリに入っている画像やPDFファイルに直接リンクできてしまう問題があります。(HTMLやPHPのページコンテンツは、冒頭にセッション認証のコードを入れることはできます)
つまり、機能的にはBASIC認証なんですが、入力と認証は <form>
タグとPHPで構成したいのです。
BASIC認証なんてhttpヘッダーのやりとりなんだからなんとかなるだろーと思っていろいろ調べてたところ・・・。
いろいろ調べたけどわからない...
いろいろ調べたのですが、WWW-Authenticate
ヘッダーを出力するとか、$_SERVER['PHP_AUTH_USER']
に入力したIDが入ってくるだとか、BASIC認証のウィンドウを出すための方法ばかりがヒットするもので、心が萎えています。。。
以下のサイトにあるように、認証後はブラウザ側が自動的にID/PWを送出してくれる必要があるかと思うので、無理っぽい感じがプンプンしてるんですが、なにか方法があるんでしょうか。
- 一度ログインが確立した後はブラウザが前回入力されたユーザID・パスワードを覚えていて、自動でHTTPのAuthorizationヘッダにユーザIDとパスワードを埋め込んで送信する.
お心あたりのある方がいらっしゃいましたら、是非ご教授のほどよろしくお願いいたします!
m(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/18 00:46 編集