HTTP 身份验证 PHP


HTTP Authentication PHP

<?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;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>

我从 php.net 那里得到了这个代码

是否可以设置目标文件夹(或URL),用户ID和密码?我不想向用户显示弹出式登录窗口

例如)

在标头行之后("HTTP/1.0 401 未经授权");

header('URL:./target_folder/')
header('UserID:guest')
header('Password:guest')

我不确定你想要什么,但你可以像这样在URL中传递你的用户名和密码:

https://username:password@www.example.com/path

它不会显示任何登录弹出窗口。

文档 : https://developer.mozilla.org/en-US/docs/Web/HTTP/Basic_access_authentication

请注意"安全性"部分

BA 机制不为传输的凭据提供机密性保护。它们只是在传输过程中使用 BASE64 进行编码,但不会以任何方式加密或散列。因此,基本身份验证通常通过 HTTPS 使用。