@Override public void elementAttributesProcessed(String name, String nsPrefix, String nsURI) throws Exception { if (discarding != 0) return; super.elementAttributesProcessed(name, nsPrefix, nsURI); }
@Override public void endElement(String name, String nsPrefix, String nsURI) throws Exception { if (discarding != 0) { --discarding; return; } super.endElement(name, nsPrefix, nsURI); }
@Override public void addAttribute(String key, String nsPrefix, String nsURI, String value, String type) throws Exception { if (discarding != 0) return; if (XSSUtils.isBadAttribute(key) || XSSUtils.isBadAttributeValue(key, value)) { logger.warn("(XSS) discarding invalid attribute: " + key + ": " + value); return; } super.addAttribute(key, nsPrefix, nsURI, value, type); }
@Override public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr) throws Exception { if (discarding == 0 && XSSUtils.isBadTag(name)) { discarding = 1; logger.warn("(XSS) discarding invalid tag: " + name); return; } if (discarding != 0) { ++discarding; return; } super.startElement(name, nsPrefix, nsURI, systemID, lineNr); }
@Override public void addPCData(Reader reader, String systemID, int lineNr) throws Exception { if (discarding != 0) return; super.addPCData(reader, systemID, lineNr); }