我們網站的一部分受到.htaccess樣式密碼保護。當您嘗試訪問網站的這個區域時,Web瀏覽器會彈出一個對話框,詢問您的用戶名和密碼。如何以編程方式訪問受密碼保護的網站?
我需要以編程方式訪問(例如使用ajax調用)。服務器如何告訴我它需要密碼,我該如何提供密碼?
我們網站的一部分受到.htaccess樣式密碼保護。當您嘗試訪問網站的這個區域時,Web瀏覽器會彈出一個對話框,詢問您的用戶名和密碼。如何以編程方式訪問受密碼保護的網站?
我需要以編程方式訪問(例如使用ajax調用)。服務器如何告訴我它需要密碼,我該如何提供密碼?
一般來說,http://user:[email protected]
但也有一些明顯的安全缺陷。
更完整的解決方案可能是在用戶通過身份驗證後設置Session變量。
將AJAX帖子創建爲檢查驗證的腳本。如果通過身份驗證,請使用CURL使用預定義的授權帳戶獲取結果。
這允許您重新使用基本的apache auth,但是防止任何密碼被寫入DOM。
有問題的網站是https,我認爲它會減少安全問題。傳遞給服務器的URL是否在https會話中加密 - 我認爲它是...? – 2009-07-07 17:08:36
這當然不是阿賈克斯,但wget的客戶端,您可以使用--http用戶和--http密碼標誌
jQuery的支持與他們的阿賈克斯()方法HTTP認證。像這樣的東西應該工作:對所有jQuery.ajax()選項
jQuery.ajax({
type: "GET",
url: "foo.php",
username: "foo",
password: "bar"
});
可能是摘要式身份驗證,也。基本技術是一樣的,但是響應看起來像什麼細節是不同的。 – 2009-07-07 17:12:56