Это - распространенное заблуждение, что ввод данных пользователем может быть фильтрован. PHP даже имеет (теперь удержанный от использования) "функция", названная волшебные кавычки , который основывается на этой идее. Это не имеет смысла. Забудьте о фильтрации (или очистка, или независимо от того, что люди называют его).
то, Что необходимо сделать, для предотвращения проблем, довольно просто: каждый раз, когда Вы встраиваете строку во внешнем коде, необходимо выйти из него, согласно правилам того языка. Например, при встраивании строки в некоторый MySQL предназначения SQL необходимо выйти из строки с функцией MySQL с этой целью (mysqli_real_escape_string
). (Или в случае баз данных подготовилось использование, операторы являются лучшим подходом, если это возможно.)
Другим примером является HTML: при встраивании строк в разметке HTML необходимо выйти из нее с htmlspecialchars
. Это означает, что каждый echo
или print
оператор должен использовать htmlspecialchars
.
примером трети А могли быть команды оболочки: Если Вы собираетесь встроить строки (такие как аргументы) к внешним командам и назвать их с [1 110] exec
, то необходимо использовать escapeshellcmd
и escapeshellarg
.
И т. д. и т. п...
[только 1 113] случай, где необходимо активно отфильтровать данные, то, при принятии предварительно отформатированного входа. Например, если Вы позволяете своим пользователям отправить разметку HTML, которую Вы планируете отобразить на сайте. Однако необходимо быть мудрыми для предотвращения этого по всей стоимости, с тех пор неважно, как хорошо Вы фильтруете ее, это всегда будет потенциальная дыра в системе безопасности.
Вы будете создавать свою собственную библиотеку, но не будете писать никакого кода.
Предлагаю посмотреть http://code.google.com/apis /kml/documentation/kmlreference.html. Оттуда вы можете получить XML-схему . Получив схему, вы можете использовать JAXB для создания дерева объектов, чтобы легко анализировать и писать KML.
Это также может быть хорошим ресурсом , похоже, что кто-то уже сделал это!
Поскольку это xml, вы можете читать данные с помощью любого парсера, но все же есть библиотека, доступная по адресу http://code.google.com/p/libkml/ , в которой есть привязки для java, но библиотека находится на C ++
Эта библиотека также выглядит многообещающей:
http://code.google.com/p/javaapiforkml/
Библиотека обеспечивает поддержку до сих пор.