2009-07-07 77 views
7

我們網站的一部分受到.htaccess樣式密碼保護。當您嘗試訪問網站的這個區域時,Web瀏覽器會彈出一個對話框,詢問您的用戶名和密碼。如何以編程方式訪問受密碼保護的網站?

我需要以編程方式訪問(例如使用ajax調用)。服務器如何告訴我它需要密碼,我該如何提供密碼?

回答

3

一般來說,http://user:[email protected]

但也有一些明顯的安全缺陷。

更完整的解決方案可能是在用戶通過身份驗證後設置Session變量。

將AJAX帖子創建爲檢查驗證的腳本。如果通過身份驗證,請使用CURL使用預定義的授權帳戶獲取結果。

這允許您重新使用基本的apache auth,但是防止任何密碼被寫入DOM。

+0

有問題的網站是https,我認爲它會減少安全問題。傳遞給服務器的URL是否在https會話中加密 - 我認爲它是...? – 2009-07-07 17:08:36

2

這當然不是阿賈克斯,但wget的客戶端,您可以使用--http用戶和--http密碼標誌

4

jQuery的支持與他們的阿賈克斯()方法HTTP認證。像這樣的東西應該工作:對所有jQuery.ajax()選項

jQuery.ajax({ 
    type: "GET", 
    url: "foo.php", 
    username: "foo", 
    password: "bar" 
}); 

文檔可以在這裏找到:http://docs.jquery.com/Ajax/jQuery.ajax#options