Nu utilizaţi atributele de servlet WebLogic pentru parsarea XML

Această regulă detectează utilizarea atributelor WebLogic setAttribute şi getAttribute pentru parsarea XML. Această regulă detectează codul Java. O regulă separată detectează utilizarea WebLogic weblogic.servlet.XMLParsingHelper, care activează această caracteristică.

Următoarele cazuri sunt detectate:
  1. Toate invocările metodei de setAttribute , în cazul în care primul argument este un șir literal cu oricare dintre următoarele valori:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  2. Toate invocările metodei de setAttribute În cazul în care primul argument este o trimitere la o variabilă de tip string sau la un câmp de corzi și că variabila sau câmpul este inițializată la oricare dintre următoarele valori:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  3. Toate invocările metodei de getAttribute , în cazul în care argumentul este un șir literal cu oricare dintre următoarele valori:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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

  4. Toate invocările metodei de getAttribute În cazul în care argumentul este o trimitere la o variabilă de tip string sau la un câmp de coarde și că variabila sau câmpul este inițializată la oricare dintre următoarele valori:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

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


. În funcție de modul în care este structurat codul, remedierea automată va oferi oricare dintre următoarele opțiuni:
  1. Ştergeţi apelul la metodă.

    Exemple:
       request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
       request.getAttribute("org.w3c.dom.Document");
    Atunci când remedierea automată este aplicată liniilor anterioare, liniile respective sunt șterse.
    Notă: Verificaţi dacă obiectul, myHandler , este inițializat în alte moduri în cazul în care este utilizat în cadrul codului mai târziu.

  2. Ştergeţi secţiunea de iniţializator variabilă.

    Exemple:
       Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Atunci când se aplică remedierea automată, codul anterior este schimbat în:
       Document myDocument;
    Notă: Verificaţi dacă obiectul, myDocument , este inițializat în alte moduri în cazul în care este utilizat în cadrul codului mai târziu.