Могу ли я определить определенные настройки браузера (IE) (не изменять, обнаруживать)?

Я просто смотрел на этот вопрос stackru: Показать настройки веб-браузера

И это помогает.

Но мне любопытно, смогу ли я определить определенные настройки IE. Я думаю, что некоторые вещи на вкладке "Дополнительно" (например, "Включить встроенную проверку подлинности Windows" включен)?

Или чтобы наш сайт был добавлен в список доверенных? А в настройках Доверенного сайта установлен "Автоматический вход с текущим именем пользователя и паролем"?

Я не хочу их менять (я понимаю, это было бы огромной проблемой, которую можно было бы использовать). Я просто хочу иметь возможность представить пользователю:

"Эй, вам нужно, чтобы пара параметров была отмечена или не отмечена для правильной работы сайта. Сделайте следующее: a, b, c... или обратитесь к администратору".

Это возможно?

3 ответа

Решение

Я не думаю, что вы можете запросить эти настройки с веб-сайта. Возможность сделать это может создать дыры в безопасности.

Я уверен, что некоторые параметры могут быть определены с помощью косвенных доказательств (например, если JavaScript не выполняется, сценарии, вероятно, отключен). Но я не думаю, что есть подходящий API для опроса каждого параметра; Я думаю, лучшее, что вы можете сделать, это дать пользователю несколько советов о том, что искать. (например, "Символ xyz в правом нижнем углу должен иметь зеленую галочку, например так... флажок abc в диалоговом окне настроек должен быть снят...")

Чтобы разобрать ваш вопрос, похоже, вы пытаетесь выяснить, настроен ли IE для автоматической отправки учетных данных NTLM на ваш сервер.

К сожалению, нет способа точно определить это. Первоначально я думал поместить файл JavaScript в защищенный каталог, в котором просто задается глобальная переменная, и ссылаться на этот скрипт в <head>, (<script src="protected-dir/test.js"></script> - protected-dir будет настроен только для интегрированной аутентификации с отключенной анонимной аутентификацией.) Если скрипт загружается, переменная установлена; и если это не удается, переменная, очевидно, не. Другой скрипт на странице может проверить переменную и показать сообщение, если оно не установлено.

Это работает безупречно, когда все настроено правильно на клиенте, но когда автоматический вход в систему выключен, это вызывает уродливый диалог 401, который явно не годится. Кроме того, запрос XHR не является ответом, поскольку в спецификации конкретно говорится, что браузер должен запрашивать учетные данные, если он получает 401.

К сожалению, я не думаю, что есть способ автоматически определить, включен ли автоматический вход, не вызывая диалоговое окно 401.

Вы не можете проверить настройки напрямую, но вместо этого вы можете проверить функциональность. Если вы попытаетесь пройти проверку подлинности на сервере и обнаружите, что их учетные данные не переданы должным образом, вы знаете, что они неправильно настроены. На данный момент вы можете показать им свою информацию о том, как подключиться к сайту. В любом случае, это было бы лучшим решением, так как лучше тестировать функции, а не конкретные настройки.

Другие вопросы по тегам