Как запретить импорт настроек Java в узел xy - PullRequest
0 голосов
/ 01 февраля 2012

Я использую:

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 без разбора всего файла?

1 Ответ

0 голосов
/ 01 февраля 2012

Единственный способ сделать это - создать хэш md5 для каждого экспортируемого файла, чтобы вы могли использовать его, чтобы убедиться, что он все еще действителен.Эти файлы md5 должны храниться в месте, отдельном от исходных файлов, чтобы люди также не могли ими манипулировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...