2011-03-06 160 views
0

我很確定這個答案是否定的,因爲這將是一個重大的安全漏洞。但是,如果用戶使用其瀏覽器登錄到網站,然後告訴我們的桌面應用程序從該網站讀取XML文件,是否有辦法使用瀏覽器的憑據,因此他們不需要給我們用戶名&密碼?有沒有辦法讓瀏覽器擁有登錄憑證?

謝謝 - 戴夫

+1

絕對是任何瀏覽器? – Snowbear 2011-03-06 20:22:02

+0

最好是任何東西,但對某些作品會比沒有好。謝謝 - 戴夫 – 2011-03-06 20:28:01

回答

1

這是不可能從基本認證獲取密碼在JavaScript中,因爲這將是一個相當大的安全問題。但是,如果瀏覽器瞭解到基本身份驗證用戶名/密碼對,它會將其發送到匹配域的每個請求,因此您可能甚至無法知道客戶端上的密碼,因爲瀏覽器正在處理它。

如果你有一個自定義的認證模式,你可以保存,你可以通過JavaScript從cookie訪問方式的用戶名和密碼,但我強烈建議你做到這一點,因爲它會打開用戶名/密碼給任何能夠在你的應用上下文中運行javascript的人(例如通過XSS),並且可能將密碼以明文保存在用戶的硬盤上。在這種情況下你應該使用的是一個基於令牌的系統(如oauth)或者其中的一種單點登錄系統,它使用短命的簽名cookie。

+0

嗨。我可能不清楚。我的應用程序是桌面應用程序,而不是Web應用程序。無論登錄系統(基本,摘要,FBA)如何,我們被要求做的事情是,如果用戶通過瀏覽器登錄,桌面應用程序可以讀取XML文件。 – 2011-03-06 20:39:11

+0

所以你想完全生活在瀏覽器之外,只能使用隨機打開的瀏覽器窗口的保存的航班憑證?這是行不通的,除非你爲每個支持的瀏覽器構建插件來給你提供憑證。但是,如果這應該適用於隨機網站,那麼您仍然需要事先了解其身份驗證架構(密碼,Cookie,...)。唯一讓我想起的是指示瀏覽器自己下載文件到硬盤(用戶支持),然後用你的應用程序從磁盤讀取它。 – 2011-03-06 20:46:59

相關問題