2009-06-05 56 views
1

我在尋找一個服務器端實現來禁止瀏覽器保存無效的登錄憑證。 例如,用戶「foo」使用密碼「bar」登錄。瀏覽器詢問foo他是否想保存密碼。但是,foo的密碼實際上是「baz」,因此會保存不正確的密碼。在授權失敗時禁用瀏覽器的「保存密碼」功能

我試過操縱HTTP代碼,例如發送HTTP/1.1 401,但沒有成功。

這不是通過向窗體添加「自動完成」來解決的,因爲這樣可以防止任何保存(甚至有效)。

服務器後端是PHP。

+0

這就是爲什麼Firefox詢問用頂部信息欄而不是彈出窗口保存密碼的原因。它允許您在決定是否要保存之前查看密碼是否有效。 – 2009-06-05 00:13:37

+0

這應該是HTML規範的一部分!服務器知道密碼錯誤...爲什麼普通用戶想要保存?好問題。 – Adam 2012-03-21 19:47:43

回答

1

如果身份驗證失敗,您不能讓它關閉該框。但是,您可以在初次嘗試後在「密碼失敗」頁面上阻止該字段的後續填充。頁面加載後,如果最後一次登錄嘗試無效,則操作DOM以從密碼字段中刪除文本值。它仍然會在後續對該網站的「新鮮」訪問中顯示密碼,但希望正確的密碼將在此之前保存。

4

我不認爲你可以 - 這是一個瀏覽器行爲。

最近你可能會來,寫一個Firefox插件,可能可以攔截請求。但我甚至不確定,只適用於Firefox。您需要查看Chrome,IE,Safari和您感興趣的任何其他瀏覽器。

4

看來你正在試圖解決一些不屬於你的工作而你無法控制的東西。正如Joel Mueller所述,Firefox通過將模態保存密碼對話框更改爲狀態欄來解決此問題,該狀態欄允許您在保存密碼之前確認密碼是正確的。如果您在其他瀏覽器中遇到此問題,則應將其作爲功能請求提交給該瀏覽器的開發人員,以便可以在其最終解決問題,這是唯一需要解決的問題。