Nepoužívat atributy servletu WebLogic pro syntaktickou analýzu XML

Toto pravidlo zjistí použití atributů setAttribute a getAttribute serveru WebLogic pro analýzu XML. Toto pravidlo zjistí kód Java. Samostatné pravidlo zjistí použití WebLogic weblogic.servlet.XMLParsingHelper, což umožňuje tato funkce.

Jsou zjištěny následující případy:
  1. Všechna vyvolání metody setAttribute , kde první argument je řetězcový literál s jakoukoli z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
    request.setAttribute("org.xml.sax.helpers.DefaultHandler", someObject)

  2. Všechna vyvolání metody setAttribute , kde první argument je odkaz na řetězcovou proměnnou nebo pole řetězce a tato proměnná nebo pole je inicializováno na libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
       String handler = "org.xml.sax.helpers.DefaultHandler";
       request.setAttribute(handler, someObject);

  3. Všechna vyvolání metody getAttribute , kde argument je řetězcový literál s jakoukoli z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad: Document myDocument = request.getAttribute("org.w3c.dom.Document")

  4. Všechna vyvolání metody getAttribute , kde argument je odkaz na řetězcovou proměnnou nebo pole řetězce a tato proměnná nebo pole je inicializováno na libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
       String handler = "org.w3c.dom.Document";
       Document myDoc = request.getAttribute(handler);


. V závislosti na jak je kód strukturován, nabídne automatická oprava některou z následujících možností:
  1. Odstraňte volání metody.

    Příklady:
       request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
       request.getAttribute("org.w3c.dom.Document");
    Po použití automatické opravy na předchozí řádky se tyto řádky odstraní.
    Poznámka: Ověřte, že objekt, myHandler , je inicializován jinými způsoby, pokud je později použit v rámci kódu.

  2. Odstraňte sekci inicializátoru proměnné.

    Příklady:
       Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Po použití automatické opravy se předchozí kód změní na:
       Document myDocument;
    Poznámka: Ověřte, že objekt, myDocument , je inicializován jinými způsoby, pokud je později použit v rámci kódu.