我試圖使用Basic HTTP Authentication並遵循PHP手冊頁上的示例。但它不適合我。變量$_SERVER['PHP_AUTH_USER']
似乎沒有設置。當用戶嘗試登錄時,會提示用戶有新的登錄對話框。服務器正在運行PHP 5.3.3,我已經嘗試使用Google Chrome和Internet Explorer。如何在PHP中使用基本HTTP身份驗證?
下面是簡單的例子,我用:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Jonas Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'User pressed Cancel';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as you password.</p>";
}
?>
有什麼不對?我如何在PHP中使用基本HTTP身份驗證?
而不是試圖用PHP來做到這一點,爲什麼你不使用Web服務器,例如http://httpd.apache.org/docs/2.2/howto/auth.html – Phil 2010-11-11 00:52:55
@James:我想我的網站主機使用Apache。 – Jonas 2010-11-11 00:53:28
@Phil:那麼我的PHP代碼將與我的Web服務器無關,並且我不能更改爲另一個Web服務器。我想遵循HTTP標準。 – Jonas 2010-11-11 00:54:39