- var_dump: documentation ( source)
- libxml_set_external_entity_loader: documentation ( source)
<?php
/**
* @link http://stackoverflow.com/q/24526493/367456
*/
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xxe [<!ENTITY foo "aaaaaa">]>
<article/>
XML;
libxml_set_external_entity_loader(function() {
var_dump(func_get_args());
return NULL;
});
$doc = new DOMDocument;
$doc->loadXML($xml, LIBXML_DTDLOAD);
echo "----\n";
libxml_set_external_entity_loader(NULL);
$doc = new DOMDocument;
$doc->loadXML($xml, LIBXML_DTDLOAD);