2016-06-30 6 views
2

У меня есть большой многомерный массив, который имеет много разных типов данных от строки до int, и все эти данные преобразуются в xml и отправляются третьей стороне для анализа и делайте с ней неприятные вещи.правильный способ экранирования данных после преобразования в XML

Моя текущая цель - очистить массив возможной инъекции sql, так как теперь мы не знаем, какая защита у них есть на стороне.

Может кто-нибудь дать предложение о том, как правильно вывести/преобразовать любые символы внутри массива, прежде чем преобразовать его в xml.

Я буду использовать функцию с рекурсивным циклом. Мне нужны советы и подсказки, что моя функция будет делать с параметрами. Поскольку информация, которую я нашел, является подавляющей и существует множество исключений.

+0

Этот вопрос может ответить уже. См. Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – CarlosCarucce

ответ

2

Если вам необходимо убедиться, что некоторые текстовые значения могут быть вставлены в качестве значения тегов XML, это должно сделать это:

$value = "something I want to encode"; 
$result = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'), 
          ENT_NOQUOTES, 
          'UTF-8', 
          false);