1

我只是在看这个stackoverflow问题:显示网络浏览器设置

这有帮助。

但是,我很好奇是否可以检测到某些 IE 特定设置。我正在考虑高级选项卡中的一些内容(例如“启用集成 Windows 身份验证”是否打开)?

或者我们的网站被添加为受信任的网站?在受信任的站点设置中,设置了“使用当前用户名和密码自动登录”?

我不想改变它们(我知道这将是一个可以被利用的大问题)。我只想能够向用户展示:

“嘿,您需要选中或取消选中这两个设置才能使站点正常工作。执行以下操作:a、b、c ... 或联系您的管理员”。

这可能吗?

4

3 回答 3

2

我认为您无法从网站内查询这些设置。能够这样做可能会引入安全漏洞。

我确信某些设置可以通过使用间接证据来确定(例如,如果 JavaScript 不执行,则脚本可能被禁用)。但我认为没有合适的 API 来轮询每个设置。我想你能做的最好的就是为用户提供一些关于寻找什么的建议。(比如,“右下角的 xyz 符号应该显示一个绿色的复选标记,像这样......选项对话框中的 abc 复选框应该被取消选中......等等”)

于 2012-03-07T20:39:30.013 回答
1

You can't check the settings directly, but you could test the functionality instead. If you attempt to authenticate with the server and find out you don't have their credentials passed in properly, you know it's not configured right. At this point you could show them your information about how to connect to the site. This would be a better solution anyways, as you're better off testing for features rather than specific settings.

于 2012-03-08T18:55:12.027 回答
1

为了提炼您的问题,您似乎正在尝试找出 IE 是否配置为自动将 NTLM 凭据发送到您的服务器。

不幸的是,没有办法完全检测到这一点。我最初的想法是将一个 JavaScript 文件放在一个受保护的目录中,该目录只需设置一个全局变量,并链接到<head>. (<script src="protected-dir/test.js"></script>-protected-dir将只为集成身份验证配置匿名身份验证。)如果脚本加载,则设置变量;如果它失败了,变量显然不是。页面上的另一个脚本可以检查变量并在未设置时显示消息。

当客户端上的所有内容都正确配置时,这可以完美地工作,但是当自动登录关闭时,这会导致弹出一个丑陋的 401 对话框,这显然是不好的。此外,XHR 请求不是答案,因为规范明确指出,如果浏览器收到 401,则应要求提供凭据。

可悲的是,我认为没有一种方法可以自动确定是否启用了自动登录而不会弹出 401 对话框。

于 2012-03-08T20:49:01.890 回答