2011-03-06 162 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

相关问题