2008-10-31 6 views
6

Ist es möglich zu bestimmen, ob meine Website als eine vertrauenswürdige Website zugegriffen wird? In another question haben wir festgestellt, dass es in der Regel nicht ratsam ist, Client-IE-Einstellungen sichtbar zu machen. Wäre dies eine Ausnahme?Wie kann ich feststellen, ob IE auf meine Site als vertrauenswürdige Site zugreift?

Der Grund, warum ich dies tun möchte, ist, dass einige Funktionen nicht funktionieren werden, wenn die Website als eine vertrauenswürdige Website zugegriffen wird (zB clientseitige sendmail - nicht fragen), und ich möchte um Benutzer warnen zu können. Trotz vieler Warnungen auf den Seiten lesen viele Benutzer immer noch nicht und senden uns böse Bilder. Wir möchten das E-Mail-Volumen reduzieren, indem wir diesen Zustand erkennen und eine große Warnung blinken lassen, die im Wesentlichen lautet: "Sie haben die Warnungen nicht gelesen und was Sie versuchen zu tun, wird nicht funktionieren, bis Sie Ihre Einstellungen ändern! "Ideen sind willkommen.

EDIT: In unserem Shop funktioniert clientseitige sendmail nur, wenn die Site vertrauenswürdig ist, und ich kann dies aufgrund von Sicherheitsanforderungen nicht ändern, noch kann ich auf serverseitiges sendmail wechseln. Dies ist jedoch nicht der einzige Grund, warum clientseitige sendmail fehlschlägt, so dass ich nicht einfach einen sendmail-Fehler abfangen kann, um dies festzustellen. Außerdem möchte ich nicht, dass dies zu einer sendmail-Diskussion degradiert.

+0

Erstens, können Sie einen Beispielcode dafür bereitstellen? Ich sehe nicht, wie ein Versuch/Fang es nicht lösen wird. Zweitens, ich weiß, dass Sie keinen Krieg gegen Technologie/Implementierung wollen, aber können wir fragen, warum Sie versuchen, E-Mail auf diese Weise zu senden? Es scheint die am wenigsten stabile Option zu sein. – scunliffe

+0

Die Anwendung unterstützt einen Teil eines Änderungsautorisierungsmechanismus für mehrere Sarbanes-Oxley-sensitive Anwendungen. Die Sicherheitsleute bestehen darauf, dass clientseitige sendmail die einzige Möglichkeit ist, die Absenderadresse nicht zu manipulieren. Kein Argument wird ihre Meinung ändern. –

+0

@Ken Paul, haben Sie eine Ahnung von der Erkennung vertrauenswürdige Website ... bitte ich brauche auch ... –

Antwort

0

von meinem Verständnis ist dies nicht möglich, aber Sie können etwas Glück haben, für eine spezifischere Bedingung zu testen, wie die Verfügbarkeit der spezifischen Technologie oder Technologien, die Sie benötigen. Welche Anforderungen stellt Ihr Client-Code an den Browser (ActiveX, Java, Scripting usw.)? Wenn Sie das wissen, ist das ein guter Anfang, um herauszufinden, wie Sie den Client-Browser für die von Ihrem Client-Code benötigte Umgebung testen.

+0

Ich fügte eine Erklärung der fehlerhaften Technologie in der Frage hinzu. Ich bin mir nicht sicher, ob das hilft. –

2

Hier ist ein Test, den Sie verwenden:

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

    return true; 
} 

Dies wird natürlich fehlschlagen, wenn der Benutzer, dass bestimmte Objekt deaktiviert hat, sogar auf eine vertrauenswürdige Site.

+0

Ich habe das versucht, und es hat nicht funktioniert. Sowohl auf einer vertrauenswürdigen als auch auf einer nicht vertrauenswürdigen Site wurde für mich die Wahrheit bestätigt. Ich denke, dass Sie im Vergleich zu mir (und meinen typischen Nutzern) unterschiedliche Unterschiede zwischen vertrauenswürdigen und nicht vertrauenswürdigen Zonen haben. –

0

Sie können nach dem Benutzernamen des aktuell angemeldeten Benutzers fragen, wenn Sie ihn erhalten, wissen Sie, dass sich die Seite in den Zonen "Vertrauenswürdige Sites" oder "Lokales Intranet" befindet.

+0

Ich arbeite daran, dies zu testen, und werde Ergebnisse melden. Danke - das sieht hoffnungsvoll aus. –

+0

Das hat nicht geholfen. Die Leute sind es so gewöhnt, die ActiveX-Warnung zu akzeptieren, dass ich ein WShell.Script-Objekt öffnen konnte, unabhängig davon, ob die Site vertrauenswürdig war. –

0

Wahrscheinlich ist es ein guter Weg, um damit umzugehen, während immer noch ungewöhnliche Kombinationen unterstützt werden, zu testen, ob ein bestimmtes Verhalten erfolgreich war oder nicht.

Zum Beispiel, wenn Sie

a.innerHTML = "abc"; 

tun müssen, dann können Sie überprüfen, ob die innerHTML- geändert wurde. Leider kann ich Ihnen nicht versichern, dass alle Funktionen nachweisbar sind. Versuchen Sie auch ... catch-Anweisungen können sehr nützlich sein.

0

In Ihrer Situation (wo das Problem, mit dem Sie es zu tun haben, ein sendmail Fehler ist), würde ich vorschlagen, sendmail fail zu fangen, aber dann eine etwas allgemeinere Antwort geben. "Ihre E-Mail ist fehlgeschlagen. Möglicherweise ist sie aus einem der folgenden Gründe fehlgeschlagen" und dann eine Liste mit Aufzählungszeichen eingefügt, in der oben "nicht vertrauenswürdig" angegeben wurde. Wenn sendmail aus anderen Gründen versagt, als dass Ihre Website nicht vertrauenswürdig ist, müssen Ihre Benutzer das vielleicht auch wissen.

Verwandte Themen