No utilizar los atributos de servlet de WebLogic para el análisis XML

Esta regla detecta el uso de los atributos setAttribute y getAttribute de WebLogic para analizar XML. Esta regla detecta el código Java. Una regla aparte detecta el uso de WebLogic weblogic.servlet.XMLParsingHelper, que habilita esta característica.

Se han detectado los siguientes casos:
  1. Todas las invocaciones de método de setAttribute , donde el primer argumento es un literal de serie con cualquiera de los valores siguientes:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  2. Todas las invocaciones de método de setAttribute , donde el primer argumento es una referencia a una variable de serie o un campo de serie y dicha variable o campo se inicializa en cualquiera de los valores siguientes:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  3. Todas las invocaciones de método de getAttribute , donde el argumento es un literal de serie con cualquiera de los valores siguientes:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  4. Todas las invocaciones de método de getAttribute , donde el argumento es una referencia a una variable de serie o un campo de serie y dicha variable o campo se inicializa en cualquiera de los valores siguientes:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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


. En función de cómo esté estructurado el código, la corrección automática ofrecerá cualquiera de las siguientes opciones:
  1. Suprimir la llamada de método.

    Ejemplos:
       request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
       request.getAttribute("org.w3c.dom.Document");
    Cuando la corrección automática se aplica a las líneas anteriores, éstas se eliminan.
    Nota: Verifique que el objeto, myHandler , se inicializa de otras formas si se utiliza dentro del código más adelante.

  2. Suprimir la sección del inicializador de variables.

    Ejemplos:
       Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Cuando se aplica la corrección automatizada, el código anterior cambia a:
       Document myDocument;
    Nota: Verifique que el objeto, myDocument , se inicializa de otras formas si se utiliza dentro del código más adelante.