我们有一个新的 B2B 供应商,想要通过 URL 使用基本身份验证。
他们希望像这样进行身份验证:
//URL coming into our server
http://usernametext:[email protected]/listener.php
如何通过我的 listener.php 脚本从 URL 获取用户名和密码?
我已尝试按照 php 手册页设置基本身份验证标头,但它会弹出一个登录框,这不是我需要的,因为这些是相互交谈的 Web 服务,而不是人:
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo '<response><error>No username and password found</error></response>';
exit;
} else {
//process request if username & password are legit
}
答案1
这些应该最终出现在变量$_SERVER['PHP_AUTH_USER']
和中$_SERVER['PHP_AUTH_PW']
。你不会在$_SERVER['HTTP_HOST']
或任何地方看到它们。