2020-06-30 12:49:37 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
|
|
|
include::../ask-yourself.adoc[]
|
|
|
|
|
|
|
|
include::../recommended.adoc[]
|
|
|
|
|
|
|
|
== Sensitive Code Example
|
|
|
|
|
|
|
|
----
|
|
|
|
function evaluate_xpath($doc, $xpathstring, $xmlstring)
|
|
|
|
{
|
|
|
|
$xpath = new DOMXpath($doc);
|
|
|
|
$xpath->query($xpathstring); // Sensitive
|
|
|
|
$xpath->evaluate($xpathstring); // Sensitive
|
|
|
|
|
|
|
|
// There is no risk if the xpath is hardcoded
|
|
|
|
$xpath->query("/users/user[@name='alice']"); // Ok
|
|
|
|
$xpath->evaluate("/users/user[@name='alice']"); // Ok
|
|
|
|
|
|
|
|
// An issue will also be created if the SimpleXMLElement is created
|
|
|
|
// by simplexml_load_file, simplexml_load_string or simplexml_import_dom
|
|
|
|
$xml = new SimpleXMLElement($doc);
|
|
|
|
$xml->xpath($xpathstring); // Sensitive
|
|
|
|
|
|
|
|
// There is no risk if the xpath is hardcoded
|
|
|
|
$xml->xpath("/users/user[@name='alice']"); // Ok
|
|
|
|
}
|
|
|
|
----
|
|
|
|
|
|
|
|
include::../see.adoc[]
|
2021-06-02 20:44:38 +02:00
|
|
|
|
2021-06-03 09:05:38 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
2021-06-08 15:52:13 +02:00
|
|
|
'''
|
2021-06-02 20:44:38 +02:00
|
|
|
== Comments And Links
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::comments-and-links.adoc[]
|
2021-06-03 09:05:38 +02:00
|
|
|
endif::env-github,rspecator-view[]
|