解决使用SAX解析器解析xml的安全问题

dca*_*121 5 java xml security android saxparser

我有一个Android应用程序,用户可以在其中输入任何xml源URL进行解析.然后我的应用程序解析xml(如果有效)并显示结果.

问题是,如果用户输入不受信任的xml源URL,则可能会影响应用和/或设备.

什么是识别风险,防止利用最佳途径.

通过我的研究,我发现启用FEATURE_SECURE_PROCESSING并禁用扩展可能会有所帮助.但任何人都可以告诉我它是什么,我如何实现它.

谢谢.

dca*_*121 6

经过研究,我找到了这个.我希望这能解决我的问题.

启用FEATURE_SECURE_PROCESSING

SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
Run Code Online (Sandbox Code Playgroud)

禁用DTD

spf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
Run Code Online (Sandbox Code Playgroud)

  • 这实际上有用吗?这样做我得到一个例外. (2认同)