Очистка / дезинфекция атрибутов xpath

Мне нужно динамически построить запрос XPath для атрибута элемента, где значение атрибута предоставляется пользователем. Я'Я не уверен, как очистить или очистить это значение, чтобы предотвратить XPath-эквивалент атаки SQL-инъекцией. Например (в PHP):

xpath("//myElement[@content='{$attr}']");
}

xPathQuery('This should work fine');
# //myElement[@content='This should work fine']

xPathQuery('As should "this"');
# //myElement[@content='As should "this"']

xPathQuery('This\'ll cause problems');
# //myElement[@content='This'll cause problems']

xPathQuery('\']/../privateElement[@content=\'private data');
# //myElement[@content='']/../privateElement[@content='private data']

Последний, в частности, напоминает атаки SQL-инъекций прошлого.

Теперь я точно знаю, что будут атрибуты, содержащие одинарные кавычки, и атрибуты, содержащие двойные кавычки. Поскольку они предоставляются в качестве аргумента функции, каков был бы идеальный способ санировать входные данные для этих функций?

Ответы на вопрос(3)

Ваш ответ на вопрос