Считайте и проанализируйте KML в Java

Это - распространенное заблуждение, что ввод данных пользователем может быть фильтрован. PHP даже имеет (теперь удержанный от использования) "функция", названная волшебные кавычки , который основывается на этой идее. Это не имеет смысла. Забудьте о фильтрации (или очистка, или независимо от того, что люди называют его).

то, Что необходимо сделать, для предотвращения проблем, довольно просто: каждый раз, когда Вы встраиваете строку во внешнем коде, необходимо выйти из него, согласно правилам того языка. Например, при встраивании строки в некоторый MySQL предназначения SQL необходимо выйти из строки с функцией MySQL с этой целью (mysqli_real_escape_string). (Или в случае баз данных подготовилось использование, операторы являются лучшим подходом, если это возможно.)

Другим примером является HTML: при встраивании строк в разметке HTML необходимо выйти из нее с htmlspecialchars . Это означает, что каждый echo или print оператор должен использовать htmlspecialchars.

примером трети А могли быть команды оболочки: Если Вы собираетесь встроить строки (такие как аргументы) к внешним командам и назвать их с [1 110] exec , то необходимо использовать escapeshellcmd и escapeshellarg .

И т. д. и т. п...

[только 1 113] случай, где необходимо активно отфильтровать данные, то, при принятии предварительно отформатированного входа. Например, если Вы позволяете своим пользователям отправить разметку HTML, которую Вы планируете отобразить на сайте. Однако необходимо быть мудрыми для предотвращения этого по всей стоимости, с тех пор неважно, как хорошо Вы фильтруете ее, это всегда будет потенциальная дыра в системе безопасности.

9
задан Evgeny Shepelyuk 16 July 2009 в 20:35
поделиться

3 ответа

Вы будете создавать свою собственную библиотеку, но не будете писать никакого кода.

Предлагаю посмотреть http://code.google.com/apis /kml/documentation/kmlreference.html. Оттуда вы можете получить XML-схему . Получив схему, вы можете использовать JAXB для создания дерева объектов, чтобы легко анализировать и писать KML.

Это также может быть хорошим ресурсом , похоже, что кто-то уже сделал это!

9
ответ дан 4 December 2019 в 10:33
поделиться

Поскольку это xml, вы можете читать данные с помощью любого парсера, но все же есть библиотека, доступная по адресу http://code.google.com/p/libkml/ , в которой есть привязки для java, но библиотека находится на C ++

1
ответ дан 4 December 2019 в 10:33
поделиться

Эта библиотека также выглядит многообещающей:

http://code.google.com/p/javaapiforkml/

Библиотека обеспечивает поддержку до сих пор.

7
ответ дан 4 December 2019 в 10:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: