java XML解析防止外部实体注入


  /** 
     * 增加防止部实体注入逻辑
     * <功能详细描述>
     * @param reader
     * @throws SAXException
     * @see [类、类#方法、类#成员]
     */
    public static void setReaderFeature(SAXReader reader)
        throws SAXException
    {
        
        reader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
        
        reader.setFeature("http://javax.xml.XMLConstants/feature/secure-processing", true);
        
        // 是否包含外部生成的实体。当正在解析文档时为只读属性,未解析文档的状态下为读写。
        reader.setFeature("http://xml.org/sax/features/external-general-entities", false);
        
        // 是否包含外部的参数,包括外部DTD子集。当正在解析文档时为只读属性,未解析文档的状态下为读写。
        reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        
        reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
        
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM