如何拒绝将 java 首选项导入到节点 xy
我正在使用:
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?
I am using:
java.util.prefs.Preferences.importPreferences( new FileInputStream(xmlFile) );
to allow the user to restore some exported data.
Every xml should look like: (the generated format via 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>
I want deny any import in other nodes than (eg. ... /JavaSoft/Prefs/com/data/core/default/
)
How can I prevent importing manipulated xml, without parsing the whole file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
执行此操作的唯一方法是为导出的每个文件创建一个 md5 哈希值,以便您可以使用它来验证它是否仍然有效。这些 md5 文件应保存在与原始文件分开的位置,以防止人们也操纵这些文件。
The only way you could do this, is to create an md5 hash for each and every file that is exported so you can use it to verify that it is still valid. These md5 files should be kept in a location seperate to the original files to prevent people from also manipulating those.