Keine WebLogic-Servletattribute für XML-Parsing verwenden

Diese Regel erkennt die Verwendung der WebLogic-Attribute "setAttribute" und "getAttribute" für XML-Parsing. Diese Regel erkennt den Java-Code. Eine gesonderte Regel erkennt die Verwendung des WebLogic-Helpers weblogic.servlet.XMLParsingHelper, der dieses Feature aktiviert.

Die folgenden Fälle werden erkannt:
  1. Alle Methodenaufrufe von setAttribute, in denen das erste Argument ein Zeichenfolgeliteral mit einem der folgenden Werte ist:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Beispiel:
    request.setAttribute("org.xml.sax.helpers.DefaultHandler", someObject)

  2. Alle Methodenaufrufe von setAttribute, in denen das erste Argument eine Referenz auf eine Zeichenfolgevariable oder ein Zeichenfolgefeld ist und diese Variable bzw. dieses Feld mit einem der folgenden Werte initialisiert wird:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Beispiel:
      String handler = "org.xml.sax.helpers.DefaultHandler";
      request.setAttribute(handler, someObject);

  3. Alle Methodenaufrufe von getAttribute, in denen das Argument ein Zeichenfolgeliteral mit einem der folgenden Werte ist:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Beispiel: Document myDocument = request.getAttribute("org.w3c.dom.Document")

  4. Alle Methodenaufrufe von getAttribute, in denen das Argument eine Referenz auf eine Zeichenfolgevariable oder ein Zeichenfolgefeld ist und diese Variable bzw. dieses Feld mit einem der folgenden Werte initialisiert wird:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Beispiel:
      String handler = "org.w3c.dom.Document";
      Document myDoc = request.getAttribute(handler);


Es ist eine Schnellkorrektur für diese Regel im Quellenscanner verfügbar. Je nachdem, wie der Code strukturiert ist, bietet die Schnellkorrektur die folgenden Optionen an:
  1. Methodenaufruf löschen.

    Beispiele:
      request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
      request.getAttribute("org.w3c.dom.Document");
    Wenn die Schnellkorrektur auf die vorherigen Zeilen angewendet wird, werden diese Zeilen gelöscht.
    Anmerkung: Stellen Sie sicher, dass das Objekt myHandler anders initialisiert wird, wenn es weiter hinten im Code verwendet wird.

  2. Abschnitt für den Initialisierungsoperator für Variablen löschen.

    Beispiele:
      Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Bei der Anwendung der Schnellkorrektur wird der vorherige Code wie folgt geändert:
      Document myDocument;
    Anmerkung: Stellen Sie sicher, dass das Objekt myDocument anders initialisiert wird, wenn es weiter hinten im Code verwendet wird.