我明白,沒有「真正的解決方案」註銷http,因爲它是無狀態的。不過,我需要的只是解決方法。我試圖實現的是當一個註銷鏈接被點擊時,它重定向到logout.php文件。該文件再次調用基本的auth頭文件。我想讓php代碼傳入一個假密碼,然後重定向到我的主頁,在那裏用戶將被「註銷」。PHP模擬一個註銷功能爲http基本認證
我意識到他們實際上不會被註銷,而是瀏覽器將嘗試使用最近傳遞的身份驗證憑據,這些憑據已傳入並且不正確,因此會使用戶重新登錄。
我基本上沒有PHP的經驗,並無法弄清楚如何編碼通過一個錯誤的密碼。
任何幫助表示讚賞。
logout.php
<?php
session_start();
session_write_close();
header('HTTP/1.1 401 Access Denied');
header('WWW-Authenticate: Basic realm="HTTPS File Upload"');
header('HTTP/1.0 401 Unauthorized');
header('Location: http://www.homepage.com')
?>
你能解釋一下你爲什麼這麼做嗎?這似乎極其令人費解,因爲可能沒有很好的理由。順便提一下,HTTP認證信息存儲在cookie中。 – thatidiotguy
你不能只是取消設置用戶認證的會話變量(如果你使用的話)? – bansi
這是一個低容量頁面,其中有幾個用戶可以訪問並登錄,然後上傳文件以供我們訪問。目前,該網站根本沒有註銷功能,從網站基礎設施點看起來很糟糕。我不太瞭解有關php或http的信息,也不知道如何解決這個問題,看起來像一個似是而非的解決方法 – CPM