我们有一个新的b2b供应商希望通过URL使用基本身份验证。基本身份验证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
}
基本http身份验证依赖于http头中的特殊条目,因此它不符合您首先通过URL传递用户名和密码的要求。只是不要返回401错误,而是在未经授权的情况下重定向到专用页面。 – Stan
尽管此方法严重不安全(以明文形式传输用户名/密码),您是否可以使用get变量? http://url.com/listener.php?username=USERNAME&pass=PASSWORD –