簡體   English   中英

解決使用SAX解析器解析xml的安全問題

[英]Solve security issue parsing xml using SAX parser

我有一個Android應用程序,用戶可以在其中輸入任何xml源URL進行解析。 然后我的應用程序解析xml(如果有效)並顯示結果。

問題是, 如果用戶輸入不受信任的xml源URL ,則可能會影響應用和/或設備。

識別風險和防止利用最佳方法是什么?

根據我的研究,我發現啟用FEATURE_SECURE_PROCESSING並禁用擴展可能會有所幫助。 但任何人都可以告訴我它是什么,我如何實現它。

謝謝。

經過研究,我找到了這個。 我希望這能解決我的問題。

啟用FEATURE_SECURE_PROCESSING

SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

禁用DTD

spf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
  • 對於SAXDOM解析器,dcanh121指出,禁用DTD就足夠了。

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

  • 對於StAX解析器:

    factory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES,false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM