|
<< Click to Display Table of Contents >> RayQC Advanced > 8.0 > User Guide > Regelübersicht > Browser-Kompatibilitätstest Internet Explorer 9 |
Im Folgenden sind die Regeln aufgeführt, mit denen eine Webanwendung auf die Bereitschaft für Internet Explorer 9 getestet werden kann.
W001 - Obsolete HTML Tags |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung veralteter HTML-Tags und JavaScript-Methoden. |
Background: In Windows Internet Explorer 9 gibt es eine Reihe veralteter HTML-Tags und zugehöriger JavaScript-Methoden. |
More Information: http://msdn.microsoft.com/en-us/library/ff806183%28v=vs.94%29.aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass die veralteten HTML-Tags nicht mehr verwendet werden. Mit CSS und JavaScript kann dieselbe Funktionalität erreicht werden. |
W002 - DHTML Editing Control Compatibility |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung des ActiveX DHTML Editing Control. |
Background: Seit Windows Internet Explorer 5 war das DHTML Editing Control für HTML-, Active Server Pages (ASP)-, ASP.NET-Seiten und andere über HTTP aufgerufene Dokumente verfügbar. Aus Sicherheitsgründen wurde die Unterstützung für dieses Steuerelement von Microsoft seit Windows Vista eingestellt, das mit Windows Internet Explorer 7 ausgeliefert wurde. Webanwendungen könnten das Steuerelement möglicherweise nicht laden, wenn sie das für Skripterstellung vorgesehene DHTML Editing Control implementiert haben (<Object ID="editor">). In diesem Fall wird ein Bild-Platzhalter angezeigt. Außerdem können Ausnahmen durch Skripte ausgelöst werden, die auf das Steuerelement verweisen. Da die Skriptauswertung durch Skriptausnahmen abgebrochen wird, können auch andere Funktionen, die durch das Skript gesteuert werden, nicht mehr funktionieren. |
More Information: http://msdn.microsoft.com/en-us/library/aa663363.aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass das DHTML Editing Control nicht mehr verwendet wird. Es gibt ein herunterladbares Original-Steuerelement in einem signierten Windows Installer-Paket namens DHTMLEd.msi, das von Microsoft bereitgestellt wird und verwendet werden kann, wenn eine Überarbeitung nicht praktikabel ist. (Achtung: Dies ist eine Problemumgehung! Die von Microsoft festgestellten Sicherheitsrisiken bleiben bestehen, da die Anwendung selbst unverändert bleibt.) |
W003 - CreateElement() Method Compatibility |
Description: RayQC Advanced durchsucht die Webanwendung nach spitzen Klammern, die in Argumente der Methode createElement() übergeben werden. |
Background: Ein Elementknoten in der Document Object Model (DOM)-Hierarchie wird durch die Methode createElement() erstellt. Seit Windows Internet Explorer 9 wurde die Unterstützung für die Verwendung von spitzen Klammern (< >) innerhalb der Methode createElement() von Microsoft eingestellt. Wenn diese Zeichen im Argument der Methode createElement() enthalten sind, können Teile der Webanwendung möglicherweise nicht mehr funktionieren. |
More Information: http://msdn.microsoft.com/en-us/library/ff986077(v=VS.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass keine spitzen Klammern mehr in der Methode createElement() verwendet werden. Übergeben Sie stattdessen den Elementnamen und verwenden Sie die Methode setAttribute(), um die Werte der erforderlichen Attribute festzulegen. |
W004 - Obsolete arguments.caller |
Description: RayQC Advanced durchsucht die Webanwendung nach der Eigenschaft arguments.caller. |
Background: Vor Windows Internet Explorer 9 wurde zusammen mit der Erstellung von Argumentobjekten eine Eigenschaft namens „caller" erstellt. Der Verweis auf das Argumentobjekt der Funktion, die das Argumentobjekt ursprünglich aufgerufen hat, wurde in dieser Eigenschaft gespeichert. Seit Windows Internet Explorer 9 wird die Eigenschaft arguments.caller von Microsoft nicht mehr unterstützt. Der Skriptfehler „object is null or undefined" tritt auf, wenn ein Skript versucht, diese Eigenschaft zu verwenden. Dadurch können Teile der Webanwendung möglicherweise nicht mehr funktionieren. |
More Information: http://msdn.microsoft.com/en-us/library/gg622933(v=VS.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass die Eigenschaft arguments.caller nicht mehr verwendet wird. Verwenden Sie die Windows Internet Explorer 8-Kompatibilitätsansicht, wenn dies nicht praktikabel ist. Aktivieren Sie die Ansicht über den Meta-Attributwert „X-UA-Compatible". |
W005 - Obsolete Document Object Model (DOM) Event Features |
Description: RayQC Advanced durchsucht die Webanwendung nach folgenden DOM-Ereignisfunktionen: attachEvent(), detachEvent(), createEventObject() und fireEvent(). |
Background: Die folgenden DOM-Ereignisfunktionen werden von Microsoft seit Windows Internet Explorer 9 nicht mehr unterstützt: attachEvent(), detachEvent(), createEventObject() und fireEvent(). |
More Information: http://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass die veralteten DOM-Ereignisfunktionen nicht mehr verwendet werden. Stattdessen sollten W3C-standardkonforme Ersatzfunktionen verwendet werden. |
W006 - Conditional Comments Compatibilty |
Description: RayQC Advanced durchsucht die Webanwendung nach bedingten Kommentaren, die zur Erkennung der Versionsnummer des Windows Internet Explorer verwendet werden. (Achtung: Diese Regel kann falsch-positive Ergebnisse für Webanwendungen liefern, die bedingte Kommentare verwenden, um bekannte visuelle Fehler in älteren Windows Internet Explorer-Versionen zu beheben!) |
Background: Es gibt nicht standardmäßige bedingte Kommentare des Windows Internet Explorer, mit denen Inhalte bereitgestellt werden können, die für einen bestimmten Browser optimiert sind, zum Beispiel die Verwendung von spezifischem HTML-, CSS- oder JavaScript-Code (<!--[if IE 7]> <p>You are using Windows Internet Explorer 7.</p> <![endif]-->). Webanwendungen, die bedingte Kommentare verwenden, liefern möglicherweise inkompatible Inhalte, da Windows Internet Explorer 9 nicht erkannt wird, weil die Hauptversionsnummer in Windows Internet Explorer 9 geändert wurde. |
More Information: http://support.microsoft.com/kb/2489698 |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass keine bedingten Kommentare mehr verwendet werden. Stattdessen sollten W3C-Vorschläge wie die JavaScript-basierte Funktionserkennung verwendet werden. |
W007 - Changed User-Agent String |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung der User-Agent-Zeichenfolge zur Browser- oder Systemerkennung. Die gängigen JavaScript-Frameworks jQuery, jQuery UI, Prototype, MooTools und Cufon werden nicht gescannt. (Achtung: Diese Regel kann falsch-positive Ergebnisse für Webanwendungen liefern, die die User-Agent-Zeichenfolge für ergänzende Zwecke wie die statistische Datenerfassung verwenden.) |
Background: Die User-Agent-Zeichenfolge übermittelt beim Zugriff auf eine Webanwendung Browser-Details wie Name, Versionsnummer, Plattform usw. an den Hosting-Server (User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)). Diese Informationen können verwendet werden, um Inhalte bereitzustellen, die für den jeweiligen Browser optimiert sind. Einige Webanwendungen erkennen die User-Agent-Zeichenfolge möglicherweise nicht und liefern daher inkompatible Inhalte, da die User-Agent-Zeichenfolge in Windows Internet Explorer 9 geändert wurde. |
More Information: http://msdn.microsoft.com/en-us/library/cc848857%28v=vs.85%29.aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass nicht die User-Agent-Zeichenfolge, sondern die Feature-Unterstützungserkennung verwendet wird. Verwenden Sie die Windows Internet Explorer 7-Kompatibilitätsansicht, wenn dies nicht praktikabel ist. Aktivieren Sie die Ansicht über den Meta-Attributwert „X-UA-Compatible". |
W008 - Use of "onload" and "onreadystatechange" Event |
Description: RayQC Advanced durchsucht die Webanwendung nach der gleichzeitigen Zuweisung beider Ereignisse („onload" und „onreadystatechange") an ein Skriptelement. |
Background: Das standardbasierte und interoperable Ladeereignis für Skriptelemente wurde in Windows Internet Explorer 9 eingeführt. Vor der Einführung von Windows Internet Explorer 9 war das einzige unterstützte Ereignis für Skriptelemente das nicht interoperable Ereignis „onreadystatechange". Dieses Ereignis wird im Windows Internet Explorer weiterhin unterstützt, um die Kompatibilität bestehender Websites zu gewährleisten. Bei Sites, die sich sowohl für „onload" als auch für „onreadystatechange"-Ereignisse registrieren, kann es nun zu zwei Rückrufen kommen. Dies kann zu unerwarteten Ergebnissen oder zu einem Ausfall eines Teils der Webanwendung führen. |
More Information: http://msdn.microsoft.com/en-us/library/hh180173(v=VS.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass für Skripte, die ein Ladeereignis benötigen, ausschließlich das Ereignis „onload" verwendet wird. |
W009 - JavaScript Framework Compatibility |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung älterer Versionen von JavaScript-Frameworks, die nicht mit Windows Internet Explorer 9 kompatibel sind. Folgende Frameworks werden gescannt: jQuery (vor Version 1.5.1), jQuery UI (vor Version 1.6.8), MooTools (vor Version 1.3), Prototype (vor Version 1.7) und Cufon (vor Version 1.09i). |
Background: In Windows Internet Explorer 9 wurden von Microsoft Funktionen zur Verbesserung der Standards für Konformität und Interoperabilität mit anderen Webbrowsern eingeführt und geändert. Viele JavaScript-Frameworks verfügen über Hilfsprogramme, die auf Funktionen früherer Versionen des Windows Internet Explorer angewiesen sind. In Windows Internet Explorer 9 funktionieren einige bekannte JavaScript-Frameworks möglicherweise nicht wie erwartet. Die meisten dieser JavaScript-Frameworks haben bereits Updates erhalten, um dies zu beheben. Dennoch gibt es noch viele Webanwendungen, in denen die älteren Versionen dieser Frameworks noch verwendet werden und noch nicht aktualisiert wurden. |
More Information: http://msdn.microsoft.com/en-us/library/hh180175(v=VS.85).aspx |
Manual Remediation: Bitten Sie den Hersteller, ein Framework bereitzustellen, das mit Microsoft Internet Explorer 9 kompatibel ist. Verwenden Sie die Windows Internet Explorer 7-Kompatibilitätsansicht, wenn kein kompatibles Framework verfügbar ist. Aktivieren Sie die Ansicht über den Meta-Attributwert „X-UA-Compatible". |
W010 - Unconventional Protocol Handlers |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung unkonventioneller Protokolle in Skriptumleitungen und Hyperlinks. |
Background: Das Präfix der URL-Adresse verweist auf einen Protokollnamen (http://www.raynet.de für ein HTTP-Protokoll, javascript:alert('Welcome') für ein JavaScript-Protokoll). Eine Anwendung kann für ein URL-Protokoll registriert werden. In diesem Fall wird seit Windows Internet Explorer 9 der Application Protocol Handler-Dialog angezeigt, wenn die Anwendung gestartet wird. Dies ist eine Sicherheitsfunktion, die Benutzer vor dem Ausführen einer Anwendung mit gefährlichen oder bösartigen Inhalten schützen soll. Der Dialog wird bei jeder Ausführung der Anforderung angezeigt, bis der Dialog für dieses Protokoll deaktiviert wurde. Die Information, dass ein nicht installiertes Programm für den Start der Webanwendung erforderlich ist, wird angezeigt, wenn keine Anwendung für ein URL-Protokoll registriert ist. |
More Information: http://msdn.microsoft.com/en-us/library/dd565637(VS.85).aspx |
Manual Remediation: Deaktivieren Sie das Kontrollkästchen „Vor dem Öffnen dieser Art von Adresse immer fragen", nachdem Sie einen Link verwendet haben, um weitere Anzeigen des Application Protocol Handler-Dialogs durch Windows Internet Explorer 9 zu verhindern. Teile einer Webanwendung funktionieren möglicherweise nicht, wenn keine Anwendung für die Verarbeitung eines nicht standardmäßigen Protokolls konfiguriert ist. |
W011 - Status Bar Text Changes |
Description: RayQC Advanced durchsucht die JavaScript-Eigenschaften window.status und window.defaultStatus nach Skripten, die den Inhalt der Statusleiste ändern. |
Background: Seit Windows Internet Explorer 7 dürfen Webanwendungen keine Skripte mehr verwenden, um die Statusleiste in der Internet- oder eingeschränkten Zone zu konfigurieren. Daher können Aufrufe der JavaScript-Eigenschaften window.status oder window.defaultStatus lautlos fehlschlagen. Durch diese Maßnahme soll verhindert werden, dass Angreifer die Statusleiste fälschen können. |
More Information: http://msdn.microsoft.com/en-us/ie/aa740486 |
Manual Remediation: Aktivieren Sie das Kontrollkästchen „Statusleistenaktualisierungen per Skript zulassen" in der benutzerdefinierten Sicherheitsstufe in den Internetoptionen von Windows Internet Explorer 9, um die Konfiguration der Statusleiste durch Skripte zu erlauben, die die Methoden window.status und window.defaultStatus verwenden. |
W012 - Obsolete Dynamic Properties |
Description: RayQC Advanced durchsucht die Webanwendung nach veralteten dynamischen Eigenschaften in CSS- oder JavaScript-Code. |
Background: Seit Windows Internet Explorer 5 konnten Eigenschaftswerte durch die Verwendung dynamischer CSS-Eigenschaften als Formeln und nicht nur als Konstanten festgelegt werden. Autoren erhielten durch die Verwendung dynamischer Eigenschaften die Möglichkeit, auf Eigenschaftswerte anderer Werte zu verweisen, was ihnen eine beispiellose Flexibilität beim Gestalten ihrer Webseiten bot. Dies führte jedoch auch zu negativen Auswirkungen auf Standardkonformität, Leistung, Zuverlässigkeit und Sicherheitsaspekte. Dynamische Eigenschaften sind seit Windows Internet Explorer 8 veraltet, es gibt jedoch noch Unterstützung für Webanwendungen, die dynamische Eigenschaften verwenden und im Windows Internet Explorer 5 (Quirks)-Modus oder Windows Internet Explorer 7-Standardmodus angezeigt werden. |
More Information: http://msdn.microsoft.com/en-us/library/ms537634(v=vs.85).aspx |
Manual Remediation: Ersetzen Sie die Funktionalität dynamischer Eigenschaften durch JavaScript-Ereignis-Listener. |
W013 - Conformity to the Request for Comments (RFC) Guidelines |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung von URLs, die nicht den Anforderungen der RFC 3986- und RFC 3987-Richtlinien entsprechen. |
Background: Um zu verhindern, dass fehlerhafte URLs Windows Internet Explorer täuschen, wird die URL seit Windows Internet Explorer 7 nach Eingabe in die Adressleiste analysiert, um sicherzustellen, dass sie den RFC-Richtlinien entspricht. Die Webanwendung darf mit eingeschränkter Funktionalität angezeigt werden, wenn sie die Überprüfung nicht besteht. Dies kann zu einem unerwarteten Verhalten der Webanwendung führen. |
More Information: https://msdn.microsoft.com/en-us/library/dd565653(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung und stellen Sie sicher, dass alle in der Webanwendung verwendeten URLs den Anforderungen der RFC 3986- und RFC 3987-Richtlinien entsprechen. |
W014 - CSS Compatibility |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung von CSS-Features, die von Windows Internet Explorer 9 nicht unterstützt werden. |
Background: Die Unterstützung für den W3C-CSS-Standard wurde mit jeder neuen Version von Windows Internet Explorer verbessert (:focus {sRules} wird von Windows Internet Explorer 9 unterstützt, jedoch nicht von Windows Internet Explorer 7). In Windows Internet Explorer 9 besteht vollständige Konformität mit CSS 2.1. Es werden auch viele CSS 3-Features unterstützt. |
More Information: http://msdn.microsoft.com/en-us/library/cc351024(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass nur CSS-Features verwendet werden, die von Windows Explorer 9 unterstützt werden. |
W015 - XSLT (Extensible Stylesheet Language Transformations) Changes |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung nicht unterstützter XSLT-Elemente. Gescannt werden veraltete XSL-Namespaces, veraltete Stylesheet-Verarbeitungsanweisungen und XSLT-Ausgabe-Direktiven. |
Background: XSLT wird zur Modifikation von XML-Dokumenten verwendet und ist eine deklarative Sprache, die auf XML basiert. Die Verarbeitung von XML- und XSLT-Dateien wurde seit Windows Internet Explorer 9 zur Verbesserung der Konformität mit den Standards anderer Browser und der Kompatibilität mit anderen Browsern geändert. Hauptsächlich wurden einige nicht standardmäßige Verhaltensweisen bei der Verarbeitung von XSLT-Dateien geändert. Diese können dazu führen, dass Webanwendungen unerwartetes Verhalten oder eingeschränkte Funktionalität zeigen. |
More Information: http://msdn.microsoft.com/en-us/library/hh180178(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung durch Migration auf einen kompatiblen und standardisierten XSLT-Namespace. Microsoft hat einige Migrationsszenarien vorbereitet. |
W017 - Obsolete DirectX-based Filters and Transitions Reference |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung von DirectX-basierten Filtern und Übergängen, die in Windows Internet Explorer 9 nicht mehr unterstützt werden. |
Background: Webentwickler konnten ihren Webseiten seit Windows Internet Explorer 4.0 durch die Verwendung einer Reihe von visuellen Filtern und Übergängen Multimedia-ähnliche Effekte hinzufügen. Sie werden aufgrund ihrer zugrundeliegenden Implementierung DirectX und ihrer Langform-Syntax als DX-Filter bezeichnet (filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75)). Seit Windows Internet Explorer 9 gibt es eine standardbasierte Alternative zu gängigen DX-Filtern. In Windows Internet Explorer 9 können Sie das veraltete Feature weiterhin in den Dokumentmodi 5, 7 und 8 verwenden, jedoch ist die Leistung im Vergleich zu den hardwarebeschleunigten, standardbasierten Alternativen schlechter. |
More Information: http://msdn.microsoft.com/en-us/library/ms532853%28v=vs.85%29.aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass standardbasierte Technologien verwendet werden. Verwenden Sie die Windows Internet Explorer-Kompatibilitätsansicht, wenn dies nicht praktikabel ist. Aktivieren Sie die Ansicht über den Meta-Attributwert „X-UA-Compatible". |
W020 - XML Data Islands Compatibility |
Description: RayQC Advanced durchsucht die Webanwendung nach der Verwendung veralteter XML-Dateninseln. |
Background: Die Unterstützung für XML-Dateninseln wurde von Microsoft seit Windows Internet Explorer 10 eingestellt. Sie werden nun in HTML geparst, um die Kompatibilität und Konformität mit HTML5 zu verbessern. Seiten, die für Windows Internet Explorer geschrieben wurden oder Browser-Sniffing verwenden, um ihr Verhalten im Windows Internet Explorer zu ändern, sind davon betroffen. |
More Information: http://msdn.microsoft.com/en-us/library/ie/hh801224(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass keine XML-Dateninseln mehr verwendet werden. Verwenden Sie stattdessen andere Technologien oder Meta-Tags, die die Dokumentkompatibilität mit Microsoft Internet Explorer 10 definieren können. |
W021 - Missing Touch Detection |
Description: RayQC Advanced durchsucht die Webanwendung nach JavaScript-Eigenschaften, die zur Rückgabe der Anzahl von Berührungspunkten verwendet werden. |
Background: Die Funktionserkennung als Methode zur Feststellung der Touchscreen-Unterstützung eines Geräts wird in Windows Internet Explorer 9 nicht unterstützt. Die Eigenschaft msMaxTouchPoints , die die maximale Anzahl unterstützter Berührungspunkte zurückgibt, gibt in Windows Internet Explorer 9 nur „undefined" zurück. |
More Information: http://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass die Eigenschaft msMaxTouchPoints nicht mehr verwendet wird. |
W026 - Binary Elements Behaviors Binding |
Description: RayQC Advanced durchsucht die Webanwendung nach binären Verhaltensweisen, die nicht mehr automatisch gebunden werden. |
Background: Um eine höhere Konsistenz mit anderen gängigen Browsern zu gewährleisten, bindet Internet Explorer binäre Elementverhaltensweisen nicht mehr automatisch. |
More Information: http://msdn.microsoft.com/en-us/library/ff986078(v=vs.85).aspx |
Manual Remediation: Überarbeiten Sie die Webanwendung so, dass keine manuell gebundenen Steuerelemente verwendet werden. |