首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SAX解析器解决解析xml的安全问题

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

Stack Overflow用户
提问于 2012-05-31 16:37:37
回答 2查看 15.5K关注 0票数 6

我有一个android应用程序,用户可以输入任何xml源url进行解析。然后,我的应用程序解析xml(如果有效)并显示结果。

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

识别风险和防止利用的最佳方法是什么?

通过我的研究,我发现启用FEATURE_SECURE_PROCESSING和禁用扩展可能有帮助。但有谁能告诉我它是什么,我如何实现它。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 18:01:39

经过调查我发现了这个。我希望这能解决我的问题。

启用FEATURE_SECURE_PROCESSING

代码语言:javascript
复制
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

禁用DTD

代码语言:javascript
复制
spf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
票数 6
EN

Stack Overflow用户

发布于 2012-06-01 13:17:23

  • For SAXDOM解析器,拒绝DTD应该足够了,正如dcanh121所指出的。

factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true“);

  • For StAX解析器:

factory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES,false);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10837706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档