0

我编写了一个网页,通过带有适当 href 值的简单 img 标签显示来自我网络上多个服务器的图像。服务器在发送图像之前需要进行身份验证。

它工作正常,除了在第一次加载页面向用户显示一系列密码提示(每个服务器一个)。用户可以选择“记住我的密码”复选框,然后在没有提示的情况下进行页面的后续刷新,并使用正确更新的图像。也就是说,直到有人关闭浏览器,之后一组新的提示等待再次打开该页面的任何人。

所需的所有凭据都是事先知道的,我不在乎是否有人可以在页面源中阅读它们,因为此页面位于内部 Intranet 站点的受保护部分中。无论如何,有权访问此页面的每个人都知道密码。

我们唯一被允许使用的浏览器是 IE 7,所以我暂时不关心与其他浏览器的兼容性。

有什么方法可以使用 JavaScript(或其他一些客户端代码)来自动回答这些提示,以便用户永远看不到它们?

首先十分感谢。

4

2 回答 2

0

您可以在 URL 中包含身份验证:

<img src="http://paulfisher:tastybacon@internalwebs/path/to/image.png">

当然,paulfisher我的用户名和密码在哪里tastybacon

于 2009-08-19T16:40:31.907 回答
0

不,javascript 不能做到这一点。以下是我以前用来解决此问题的几个选项:

  1. 将其他服务器上的身份验证更改为匿名或集成。
  2. 图像中的代理:在为页面提供服务的服务器上,添加另一个接收远程服务器 URL 的页面。这个新页面向其他服务器发出网络请求并将图像流回。webrequest 可以插入正确的凭据。
  3. 根据服务器的 DNS 名称,可能会在所有服务器之间共享一个身份验证 cookie。然后您可以在所有服务器上设置某种模块以允许共享身份验证。
于 2009-08-19T16:48:23.713 回答