2008-10-31 2 views
6

Можно ли определить, доступен ли мой веб-сайт в качестве надежного сайта? В another question мы определили, что, в общем, небезопасно иметь видимость для настроек IE клиента. Будет ли это квалифицироваться как исключение?Как определить, поддерживает ли IE мой сайт как надежный сайт?

Причина, по которой я хотел бы сделать это, заключается в том, что некоторые функции не будут работать, если сайт не будет доступен как доверенный сайт (например, на стороне клиента sendmail - не спрашивайте), и я бы хотел чтобы иметь возможность предупреждать пользователей. Несмотря на множество предупреждений на страницах, многие пользователи до сих пор не читают и посылают нам nastygrams. Мы хотели бы уменьшить объем электронной почты, обнаружив это условие и высвечивая большое предупреждение, которое в основном говорит «. Вы не читали предупреждения, и то, что вы пытаетесь сделать, не будет работать, пока вы не измените настройки! «Любые идеи приветствуются.

EDIT: В нашем магазине клиентская почта sendmail работает только в том случае, если сайту доверяют, и я не могу изменить это из-за требований безопасности, а также не могу переключиться на серверный sendmail. Однако это не единственная причина, по которой клиентский sendmail не будет работать, поэтому я не могу просто поймать ошибку sendmail, чтобы определить это. Кроме того, я не хочу, чтобы это ухудшалось при обсуждении sendmail.

+0

Во-первых, можете ли вы предоставить пример кода для этого? Я не вижу, как try/catch не решит его. Во-вторых, я знаю, что вы не хотите войны с технологией/реализацией, но можем ли мы спросить, почему вы пытаетесь отправить электронную почту таким образом? Это похоже на наименее стабильный вариант. – scunliffe 2008-11-05 15:23:20

+0

Приложение поддерживает часть механизма авторизации изменений для нескольких приложений, чувствительных к Sarbanes-Oxley. Люди безопасности настаивают на том, что sendmail на стороне клиента является единственным способом предотвратить подделку адреса отправителя. Ни один аргумент не изменит их мнение. – 2008-11-07 04:52:18

+0

@ Ken Paul, у вас есть представление о обнаружении доверенного сайта ... пожалуйста, мне также нужно ... – 2013-04-30 12:17:09

ответ

0

из моего понимания это невозможно, но у вас может быть какое-то испытание удачи для более конкретных условий, таких как доступность конкретной технологии или технологий, в которых вы нуждаетесь. Какие требования предъявляются коду вашего клиента в браузере (ActiveX, Java, скрипты и т. Д.)? Знание этого будет очень хорошим началом для выяснения того, как тестировать клиентский браузер для среды, требуемой вашим кодом клиента.

2

Вот тест, который вы можете использовать:

function isTrustedIE(){ 
    try{ 
     var test=new ActiveXObject("Scripting.FileSystemObject"); 
    } 
    catch(e){ 
     return false; 
    } 

    return true; 
} 

Это, конечно, не в состоянии, если пользователь отключил этот конкретный объект, даже на доверенном сайте.

0

Вы можете запросить имя пользователя для текущего пользователя, если вы его узнаете, вы узнаете, что сайт находится в зонах «Надежные сайты» или «Местная интрасеть».

0

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

Например, если вам нужно сделать

a.innerHTML = "abc"; 

, то вы могли бы проверить, была ли изменена innerHTML. К сожалению, я не могу заверить вас, что все функции можно обнаружить. Кроме того, попробуйте ... заявления catch могут быть очень полезными.

0

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

Смежные вопросы