我們有一個新的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 –