[英]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);
對於SAX和DOM解析器,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.