Não usar os atributos de servlet do WebLogic para análise XML

Esta regra detecta o uso dos atributos setAttribute e getAttribute do WebLogic para XML de análise. Esta regra detecta o código Java. Uma regra separada detecta o uso do WebLogic weblogic.servlet.XMLParsingHelper, que ativa este recurso.

Os seguintes casos foram detectados:
  1. Todas as chamadas de método de setAttribute , em que o primeiro argumento é uma sequência literal com qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  2. Todas as chamadas de método de setAttribute , em que o primeiro argumento é uma referência a uma variável de sequência de caracteres ou um campo de sequência de caracteres e essa variável ou campo é inicializado para qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  3. Todas as chamadas de método de getAttribute , em que o argumento é uma sequência literal com qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  4. Todas as chamadas de método de getAttribute , em que o argumento é uma referência a uma variável de sequência ou a um campo de sequência e essa variável ou campo é inicializado para qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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


. Dependendo de como o código está estruturado, a correção automatizada oferecerá uma das seguintes opções:
  1. Exclua a chamada de método.

    Exemplos:
       request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
       request.getAttribute("org.w3c.dom.Document");
    Quando a correção automatizada é aplicada às linhas anteriores, essas linhas são excluídas.
    Nota: Verifique se o objeto, myHandler , será inicializado de outras maneiras se for usado no código posteriormente.

  2. Exclua a seção do inicializador da variável.

    Exemplos:
       Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Quando a correção automatizada é aplicada, o código anterior é alterado para:
       Document myDocument;
    Nota: Verifique se o objeto, myDocument , será inicializado de outras maneiras se for usado no código posteriormente.