これに関連するPHP サイトのページを読みましたが、前にヘッダーを指定せずにusername
andにアクセスしようとしているpassword
ため、フォームが表示され、後で何らかのリロードが発生します。
username
オプションで渡すには、これとpassword
渡すことができるようにしてほしい。私の目標は、管理ユーザーがこれらの資格情報に依存するようにすることです。したがって、example.com/admin
ログインを開いて管理機能が表示された状態でリダイレクトされるのではなくexample.com
、これらの資格情報を読み取り、それらが一致する場合はそれらからログインしたいと考えています。
とをvar_dump
実行$_SERVER
し$_ENV
ましたが、 でリクエストしhttp://username:password@example.com
てもどこにも表示されません。
PHPをCGIとして実行しています。
どうすればこれを完了できますか?
アップデート:
<?php
/*if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
}*/
echo '<pre>';
$user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
$pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;
var_dump( $user, $pass );
var_dump($_SERVER, $_ENV);
echo '</pre>';
これが私が取り組んでいるサンプルコードです。を追加するというコリンの提案はRewriteRule
、結果に影響しませんでした。
ここで、そのif
部分がコメントアウトされているNULL
場合、$user と $pass の値を取得します。コメントを外すと、適切な値が得られます。
RewriteRule
追加のヘッダーが追加されますが、値を取得するために必須ではありません。すべての魔法はその場合にあるようです。