我正在使用:
java.util.prefs.Preferences.importPreferences( new FileInputStream(xmlFile) );
允许用户恢复一些导出的数据。
每个xml应如下所示:(通过Preferences.importPreferences()
生成的格式)
<?xml ...
<!DOCTYPE ...
<preferences ...
<root type="user">
<map/>
<node name="com">
<map/>
<node name="data">
<map/>
<node name="core">
<map/>
<node name="default">
<map/>
<entry key...
</node>
</node>
</node>
</node>
</root>
</preferences>
我想拒绝其他节点中的任何导入(例如...... /JavaSoft/Prefs/com/data/core/default/
)
如何在不解析整个文件的情况下阻止导入被操作的xml?
答案 0 :(得分:0)
唯一可行的方法是为导出的每个文件创建一个md5哈希,以便您可以使用它来验证它是否仍然有效。这些md5文件应保存在与原始文件分开的位置,以防止人们操纵这些文件。